|
1272
|
Programación / Programación C/C++ / Re: Ejercicio con matriz tridimencional
|
en: 30 Septiembre 2012, 14:18 pm
|
No veo claro del todo lo que quiere. Interpreto que desea las ventas acumuladas por productos y mes para cada vendedor. La primera lista da lo anterior pero sin acumular. Las ventas de cada vendedor las genero aleatoriamente: #include <stdio.h> #include <stdlib.h> main() { int i,j,k; int a [3][12][4],b[3][4]={0},c[3][4]={0}; for (i=0;i<3;i++) for (j=0;j<12;j++) { for (k=0;k<4;k++) { printf("Vendedor %d mes %d venta producto %d = %d ",i +1, j +1,k +1, a [i ][j ][k ]); for (i=0;i<3;i++) for (j=0;j<12;j++) { for (k=0;k<4;k++) { b [i][k]+=a [i][j][k]; printf("Vendedor %d mes %d venta acumulada producto %d = %d \n",i +1, j +1,k +1,b [i ][k ]); } } }
|
|
|
1273
|
Programación / Programación C/C++ / Re: Duda con juego que genera numeros aleatorios
|
en: 30 Septiembre 2012, 12:11 pm
|
Para que "veas" lo que dice do-while corre el siguiente código varias veces. Observa que la primera lista es siempre la misma -fíjate en srand en el código- mientras que las otras dos varían -fijate otra vez en el segundo srand- .
: /*Numero aleatorios entre 0 y 50: num=rand()%51; Numero aleatorios entre 11 y 100: num=11+rand()%(101); Numero aleatorios entre 250 y 420: num=250+rand()%(421-250); De forma general es: variable = limite_inferior + rand() % (limite_superior +1 - limite_inferior) ;*/ #include <stdio.h> #include <time.h> main() { int i,x,n; printf("15 numeros entre 1 y 10: \n\n"); for (i = 0; i < 15; i++) { printf("15 numeros entre 1 y 10: \n\n"); for (i = 0; i < 15; i++) { printf("15 numeros entre 25 y 100: \n\n"); for (i = 0; i < 15; i++) { n = 25+rand() % (101-25) ; }
Espero que te sea útil. Saludos!.
|
|
|
1274
|
Programación / Programación C/C++ / Re: Problema con funcion
|
en: 30 Septiembre 2012, 00:42 am
|
Todo puede ser más fácil, sobre todo usando funciones:#include <stdio.h> int contador(char* letras){ int i; for (i=0;letras [i]!='\0';++i); return i; } int main() { char cadena [80]; fgets(cadena ,80,stdin );/*con gets te puedes "pasar" de caracteres*/ printf ("\nEl texto tiene %d caracteres.\n",contador (cadena )); printf ("\nPresione ENTER para salir:"); ; return 0; }
|
|
|
1275
|
Programación / Programación C/C++ / Re: Ayuda con un programa en lenguaje C if , if else dentro de un if else
|
en: 30 Septiembre 2012, 00:32 am
|
He hecho diversas pruebas y si va el "elseif". Tal vez si pones más de código: #include<stdio.h> main() { int i,k,A=0,m2[]={10,20,30,40,50,60,70,80,90,100,110,120,130}, m[]={0,10,20,30,40,50,60,70,80,90,100,110,120,},contador=465,Md=1; for(k=1;k<12;k++) { for(i=0;i<13;i++) { if(contador>m[k] && contador<=m2[k]) {contador=contador-m[k]; printf("\nEl disco de compresion %i del motor %i fallara el %i/%i/%i por horas",i +1,Md ,contador ,k +1,A );} else if(contador==m[k]) {printf("\nEl disco de compresion %i del motor %i fallara el %i/%i/%i por horas",i +1,Md ,1,k +1,A );} else if(contador>365) { contador=contador-365; if(contador>=1 && contador<=31) {printf("\nEl disco de compresion %i del motor %i fallara el %i/%i/%i por horas",i +1,Md ,contador ,1,A +1);} else if (contador==m[k]) {printf("\nEl disco de compresion %i del motor %i fallara el %i/%i/%i por horas",i +1,Md ,1,k +1,A +1);} else if(contador>m[k] && contador<=m2[k])/*<==contador=465-365=10>m[2] y <m2[2k] ==>*/ {contador=contador-m[k]; printf("\nEl disco de compresion %i del motor %i fallara el %i/%i/%i por horas",i +1,Md ,contador ,k +1,A +1);} } } } }
Salida: El disco de compresion 1 del motor 1 fallara el 10/10/0 por horas Tal vez es que con tus valores no se alcance esa posibilidad.
|
|
|
1276
|
Programación / Programación C/C++ / Re: ¿ Como utilizar %n ?
|
en: 29 Septiembre 2012, 22:44 pm
|
Lo que expuse en el anterior post es que ese formato no es "aconsejable" ya que depende del compilador que cada uno use. Ya comente que en Code::Blocks no funciona, pero tampoco en Dev-C++, etc, sin embargo en el tal vez menos conocido Pelles C sí da las salidas esperadas. Saludos.
|
|
|
1277
|
Programación / Programación C/C++ / Re: ¿ Como utilizar %n ?
|
en: 29 Septiembre 2012, 22:28 pm
|
El ejemplo es el siguiente: #include <stdio.h> int main() { int numChars; float a = 3.14159; int b = 3490; printf("%f %d%n\n", a, b, &numChars); printf("The above line contains %d characters.\n", numChars); }
La salida es : 3.141590 3490 The above line contains 13 characters.
Y el siguiente código: #include <stdio.h> int main() { int val; printf("blah %n blah\n", &val ); return 0; }
da como salida: blah blah val = 5
Como ves da los caracteres hasta ese punto.PERO, eso es usando el compilador PellesC, porque en Code::Blocks nada de nada, las variables se llenan de "basura".Saludos.
|
|
|
1278
|
Programación / Programación C/C++ / Re: LISTA DOBLE
|
en: 29 Septiembre 2012, 21:33 pm
|
Cuando escribes el post en la parte superior aparece "GeSHi", picas y seleccionas C o C++ o lo que creas y automáticamente aparecen las etiquetas "[ code=c][ /code]" , sin los espacios en blanco que he puesto o algo parecido y ya en medio le insertas el código. Gracias por el código. ¡Otro ejemplo para extrujar!
|
|
|
1279
|
Programación / Programación C/C++ / Re: Leer numero seguido de carácter
|
en: 29 Septiembre 2012, 15:26 pm
|
Estoy intentando solucionar un problema en el cual me introducen X números seguidos de Y caracteres sin espacio u otro tipo de separación entre ellos, ejemplo: 12345ABC Y si quieres guardar el número y la cadena:#include <stdio.h> main() { int i; char linea [80]; return 0; }
Saludos.
|
|
|
1280
|
Programación / Programación C/C++ / Re: PROBLEMA ENTRE ARRAY MULTIDIMENSIONAL Y FUNCIONES
|
en: 29 Septiembre 2012, 12:47 pm
|
Tampoco tiene declaradas las variables n y h, ni los valores de éstos en "suma" y las matrices son ambas de 3x6. Además no tiene definidas dimensiones de los arrays en la funcion suma o sea; main(){ int array[3][6], array2[3][6]; llenar(array); imprimir(array); suma(array,array2,n,h); void suma(int array[][], int array2[][],int n,int h)<===aquí faltan las dimensiones }
Un saludo.
|
|
|
|
|
|
|