|
1241
|
Programación / Programación C/C++ / Re: Programa en c++ que sume segundos en una hora determinada
|
en: 12 Octubre 2012, 13:38 pm
|
En segundos no restastes los correspondientes a minutos y horas. El resto estaba O.K:#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int hin,min,seg,segsum; int soloSegundos,hOut,mOut,sOut; //capturar en la pantalla los datos cout<<"Digite la hora (24hrs): "; cin>>hin; cout<<"Digite los minutos: "; cin>>min; cout<<"DIgite segundos: "<<endl; cin>>seg; //Calculo todo en seg soloSegundos = hin*3600+(min*60)+seg; cout<<"Digite los segundos a sumar: "; cin>>segsum; soloSegundos += segsum; hOut = soloSegundos / 3600; mOut = ((soloSegundos /60)-(hOut*60)); sOut=(soloSegundos-(mOut*60)-(hOut*3600)); cout<<"Horas: "<<hOut; cout<<" Minutos:" <<mOut; cout<<" Segundos: "<<sOut<<endl; return EXIT_SUCCESS; }
|
|
|
1242
|
Programación / Programación C/C++ / Re: Ayuda con un problema;
|
en: 5 Octubre 2012, 23:04 pm
|
Veran tengo que ingresar par de temperaturas diarias máx. y min. El proceso terminara cuando ambas son cero. Creo que podrías tratarlo con arrays. Como no introduces el número de días previamente, habrá que sobredimensionar el array, cosa que hago en el "define" a 100. Puedes cambiar ese valor a tu caso. Te propongo un código algo diferente, ya que calculo tanto temperaturas máxima y mínimas de las máxima y mínima. Mejor lo ves en "acción":#include <iostream> #include <stdio.h> #define MAX 100 using namespace std; int main() { int dias=1,i,n=1; float max_max=-273,max_min=400,max_media=0,min_max=-273, min_min=400,min_media=0,max[MAX],min[MAX],suma_max=0, suma_min=0,max_menor_cero=0,min_menor_cero=0; cout << "\n\n\t\tIngresar en temperatura maxima 1122 para SALIR"<< endl; for (i=0;i<MAX;i++) { cout << "\nIngresar temperatura maxima = "; cin >> max[i]; cout<<"\nIngresar temperatura minima = "; cin >> min[i]; if (min[i]==0 && max[i]==0) break; if (max[i]<0) max_menor_cero++; if (max[i]>max_max) max_max=max[i]; if (max[i]<max_min) max_min=max[i]; suma_max+=max[i]; if (min[i]<0) min_menor_cero++; if (min[i]<min_min) min_min=min[i]; if (min[i]>min_max) min_max=min[i]; suma_min+=min[i]; } cout<<"\nEl numero de dias medidos es = "<<i<< endl; cout<<"\nLa temperatura max_max ingresada fue = "<<max_max<< endl; cout<<"\nLa temperatura max_min ingresada fue = "<<max_min<< endl; cout<<"\nLa temperatura min_min ingresada fue = "<<min_min<< endl; cout<<"\nLa temperatura min_max ingresada fue = "<<min_max<< endl; cout<<"\nLa temperatura media_max es = "<<suma_max/(i)<< endl; cout<<"\nLa temperatura media_min es = "<<suma_min/(i)<< endl; cout<<"\nPorcentaje de dias (= "<< max_menor_cero <<") de max inferior a cero es =" <<max_menor_cero*100/(i)<< endl; cout<<"\nPorcentaje de dias (= "<< min_menor_cero <<") de min inferior a cero es =" <<min_menor_cero*100/(i)<< endl; cout<<"\n\nPresione cualquier tecla para salir"<< endl; return 0; }
Espero te sea útil. Saludos!
|
|
|
1243
|
Programación / Programación C/C++ / Re: Ejercicio con matriz tridimencional
|
en: 5 Octubre 2012, 11:22 am
|
Leosansan podrias ayudarme el ejercicio esta bien pero hay que Cargar los productos por mes de cada representante por teclado. como seria ?
No entiendo bien tu pregunta. y además ¿qué quiere dedir por teclado?. Entiendo que los tienes que entrar a "mano". Avísame. Saludos!
|
|
|
1244
|
Programación / Programación C/C++ / Re: Duda
|
en: 4 Octubre 2012, 20:18 pm
|
El problema es que no se efectúa la suma que se debería efectuar Difícil que sume cuando para empezar, no tienes declarada la función suma en main. Lo demás es un error repetido; cuando te refieras a los "elementos" del array has de usar la expresión A[i]
Te dejo el código corregido: #include <iostream> using namespace std; void datos(float A[]){ for(int i=0;i<5;i++) { cout<<"Ingrese un numero:"; cin>>A[i]; } } void suma(float A[]){ for(int i=0;i<5;i++) A[i]=A[i]+2; } void muestra(float A[]){ for(int i=0;i<5;i++) cout<<"Despues de sumarle 2 queda "<<A[i]<<endl; } int main() { float A[5]; datos(A); /*system("cls");*/ suma( A); muestra(A); return 0; }
Saludos! PD usa las etiquetas "Geshi" en formato C o C++ para "meter" el código entre ellas, si no no se entiende ni pijo.
|
|
|
1245
|
Programación / Programación C/C++ / Re: duda: funcionamiento operador unario de conversion de tipo
|
en: 4 Octubre 2012, 19:22 pm
|
Igual creo que ya entendi el funcionamiento creo que lo que hace es convertir a total en un tipo double temporalmente para hacer esa cuenta
Exacto, lo puedes comprobar con:#include <iostream> using namespace std; int main () { double promedio; int total=8; int contadorCalif=3; promedio = static_cast <double> (total) / contadorCalif; cout << promedio << endl; }
donde ya promedio toma el valor 2.6667.Saludos 1996marioful
|
|
|
1247
|
Programación / Programación C/C++ / Re: Arreglo bidimensional
|
en: 4 Octubre 2012, 14:31 pm
|
Creo que así te funcionará, sólo tienes que cambiar TAM por 20:void intercambiar (int M[20][20], int f, int c) { for (j=0;j<TAM;j++) /*<==intercambio*/ { temp1=a[0][j]; temp2=a[TAM-1][j]; a[0][j]= temp2; a[TAM-1][j]= temp1; } } }
Ya me dirás que tal.Saludos!.
|
|
|
1249
|
Programación / Programación C/C++ / Re: PROBLEMA EN COMPILACION Y FUNCION
|
en: 4 Octubre 2012, 00:24 am
|
printf("Ingrese tamaño de la cadena (maximo 80 caracteres) : "); scanf("%d",&tam);<==NO ES LÓGICO ESTE DATO, SE INGRESA LA CADENA Y SE CALCULA Me cansé de tu código, así que te propongo otro:#include <stdio.h> main() { int i=0; char cadena [100]; fgets(cadena ,100,stdin ); /*<==obtiene cadena con espacios incluidos*/ while (cadena[++i]!='\0'); /*calcula la longitud de la cadena*/ i=i-1; while (i>=0) */ <==imprime al revés*/ printf ("\nPresione ENTER para salir:"); return 0; }
|
|
|
1250
|
Programación / Programación C/C++ / Re: Ayuda con Vectores
|
en: 4 Octubre 2012, 00:12 am
|
Deberia poder ingresar cuantos nombres voy a necesitar, luego al pedir el primer nombre "Roman Ruiz" guardarlo en el primer espacio del vector y asi ir agregando. El código corregido, aunque con la tan denostada función fflush, hace exactamente lo que quieres: introducir nombre y apellido que se va guardando en el array bidimensional. Supongo que existen otras soluciones más óptimas, pero lo mío no es el C++:#include<iostream> #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> using namespace std; void ingresa_datos () { int a, x,cont = 0; cout<<" D A T O S D E A L U M N O S "<<endl; cout<<" Cuantos datos quiere ingresar <15 maximo>: "; cin>>a; char ch,nom[100],nomb [a][100]; for (x=0;x<=a-1;x++) { cout<<" Nombre del Alumno "<<x+1<<" :"; fflush (stdin); fgets(nom,100,stdin); strcpy (nomb [x],nom); } for (x=0;x<=a-1;x++) /*<===Imprime los nombres introducidos*/ cout<<nomb[x]; } main() { ingresa_datos(); }
|
|
|
|
|
|
|