|
1121
|
Programación / Programación C/C++ / Re: Ayuda con un programa en C++
|
en: 3 Diciembre 2012, 19:46 pm
|
Me han pedido que haga un programa en C++ tal que así: "Leemos diez números por teclado. El programa tiene que mostrar cuáles son primos y cuántos hay." Necesito hacerlo con el código más simple posible, ya que estoy aprendiendo, con #include<iostream> y #include<cmath> La librería math no se usa en este caso y más simple que el de Xenomorfo77 sería sin usar array ni función:#include <iostream> #include <stdio.h> using namespace std; main() { int i,cont=0,j,num,k; for (i=0;i<10;i++){ cout <<"Ingresa el numero "<<i+1<<": "; cin >>num; k=0; for (j=1; j<=num; j++) if (num%j == 0) k++; if (k == 2 || num == 1){ cont++; cout <<"El numero "<<num<<" esprimo"<<endl; } else cout <<"El numero "<<num<<" NO esprimo"<<endl; } cout <<"El numero de primos es :"<<cont<<endl; return 0; }
Saluditos!.
|
|
|
1123
|
Programación / Programación C/C++ / Re: problema cout's
|
en: 3 Diciembre 2012, 16:35 pm
|
buenas, no tengo ni idea de pq este programa no me devuelve los cout<<"ok"<<endl; no tengo ni idea si es que mi codeblocks se ha bugeado o que :/ podeis provar a compilarlo y decirme si os sale algun "ok"? seria de mucha ayuda Tal como está no saldrán nunca los o.k, y el pobre Code::Blocks no tiene culpa de nada. Fíjate que haces por ejemplo numeroP[4]=-1 y en la condición, como hay un incremento previo de i se compara numeroP[5]!=-1, y será mucha casualidad que numeroP[5] que aún no ha sido introducido valga -1 .... lo que hace que no salgas del bucle. Con el arreglo que te dejo ya salen ok1 y ok11, pero tienes que "ajustar" la función comparar ya que te mete en un bucle infinito: void llegirPremiats(VectorC& numeroP,VectorC& numeroL) { int i=-1; do{ i=i+1; cin>>numeroP[i]; cout<<numeroP[i]<<endl; }while(numeroP[i]!=-1); cout<<"ok1"<<endl; i=-1; do{ i=i+1; cin>>numeroL[i]; cout<<numeroL[i]<<endl; }while(numeroL[i]!=-1); cout<<numeroL[4]<<"ok11"<<endl;system ("pause"); }
Saluditos!.
|
|
|
1124
|
Programación / Programación C/C++ / Re: Programa en C con función - problema con el contador
|
en: 3 Diciembre 2012, 13:52 pm
|
me compila pero me sigue dando el contador cero, no se en que fallo.
A mí no me da cero:#include <stdio.h> #define TAM 200 int contador (char v[],char b); int main(){ char v[TAM],base; printf("Escribe secuencia: "); gets(v); printf("Escribe base: "); scanf("%c",&base); printf("El numero de veces que aparece es %d",contador(v,base)); } int contador (char v[],char b) { int contador=0,i; for(i=0; v[i]!='\0'; i++) if(v[i]==b) contador++; return contador; }
Saluditos!.
|
|
|
1125
|
Programación / Programación C/C++ / Re: Primer programa en C con vectores
|
en: 2 Diciembre 2012, 19:42 pm
|
Procura colgar antes parte del código que llevas. Pero como ya habías puesto lo anterior una ayudita: #include<stdio.h> int main(void){ int vector[10],i,num; for(i=0;i<3;i++){ printf("Ingrese elementos: "); scanf("%d",&vector[i]); } puts("\n"); for(i=0;i<10;i++) printf("[%i]",vector[i]); puts("\n"); printf("Ingrese un numero: "); scanf("%d",&num); for(i=0;i<10;i++){ if (num==vector[i]){ printf("\nEsta en la lista"); return 1; } } puts("\nNo esta en la lista"); return(0); }
Saluditos!.
|
|
|
1127
|
Programación / Programación C/C++ / Re: Programa con cadenas
|
en: 2 Diciembre 2012, 19:02 pm
|
Sin usar funciones y con strcat:#include <stdio.h> #include <string.h> #define TAM 200 void cambio (char v[], char m[]); int main(){ int i; char destino[TAM]; char destino_reves[TAM]; char original[TAM]; printf("Introduzca la primera cadena destino:"); gets(destino); printf("Introduzca la segunda cadena original:"); gets(original); for(i=0;destino[i]!='\0';i++){ destino_reves[i]= destino[strlen(destino)-i-1];} destino_reves[i]='\0'; strcat( original, destino_reves); puts(original); return 0; }
Sorry, se me ha adelantado rir mientras posteaba esto.Y como siempre claro y preciso en sus explicaciones. Saluditos!.
|
|
|
1128
|
Programación / Programación C/C++ / Re: hacer potencias en C++??
|
en: 2 Diciembre 2012, 16:17 pm
|
El orden de las instrucciones también es importante:
#include <iostream> #include <math.h> using namespace std; int main () { float kg, m, resultado; cout << "introduce los Kilogramos: "; cin >>kg; cout << "introduce la altura: "; cin >> m; resultado = kg /(pow (m, 2)); cout << "el IMC es:" << resultado << endl; return 0; }
Saluditos!.P.D:En este caso no te hacía falta usar pow, bastaba con dividir entre m*m.
|
|
|
1129
|
Programación / Programación C/C++ / Re: ayuda con este programa, tengo un error logico creo
|
en: 2 Diciembre 2012, 14:59 pm
|
Un problema con el \n que se queda en el buffer, que se arregla con getchar. Te que da por pulir el caso 3 y el default, ya que ambos te conducen a la última instrucción. Pero muy bien el ejercicio:
#include <iostream> #include <cstdlib> #include <conio.h> #include <cstdio> #include <cstring> using namespace std; int op;// opcion del menu char ts;//centinela char texto[50]; int desp=1,tam,aux; //funcion que cifra void cifra() { getchar(); cout<<"Indique el texto a cifrar: "; gets(texto); tam=strlen(texto); for(int i=0;i<tam;i++) { aux=texto[i]; if(aux+desp>122) { aux=((aux+desp)-122)+96; } else { aux=aux+desp; } if(texto[i]!=' ') { texto[i]=aux; } } cout<<"Texto cifrado a: "<<texto; getch(); } //funcion que descifra void descifra() { getchar(); cout<<"Indique el texto a descifrar: "; gets(texto); tam=strlen(texto); for(int i=0;i<tam;i++) { aux=texto[i]; if(aux-desp<97) { aux=122-(96-(aux-desp)); } else { aux=aux-desp; } if(texto[i]!=' ') { texto[i]=aux; } } cout<<"Texto descifrado a: "<<texto; getch(); } int main() { do{ cout<<"| cifra un mensaje, envialo a tus contactos |"<<endl; cout<<"| y solo ellos veran su contenido!! |"<<endl; cout<<"|==============================================|"<<endl; cout<<"| Que deseas hacer?? |"<<endl; cout<<"| 1.cifra un mensaje |"<<endl; cout<<"| 2.descifra el mensaje |"<<endl; cout<<"| 3.Sacame de aqui |"<<endl; cout<<"|==============================================|"<<endl<<endl; cout<<"Ingresa tu opcion: "; cin>>op; system("cls"); switch (op){ case 1: cifra(); break; case 2: descifra(); break; case 3: cout<<"Realmente deseas salir, no "; break; default: cout<<"La Opcion elejida no existe. "; break; } cout<<"\ndeseas realizar otra operacion? S/N"<<endl; cin>>ts; system ("cls"); }while( ts=='s' || ts =='S'); return 0; }
Saluditos!.P.D: cuando eliges las etiquetas GeSHi elige la opción de C++, aunque el código sea en C; así sale coloreado y es más fácil de seguir.
|
|
|
|
|
|
|