Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - leosansan

#1272
CitarNo 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};
    srand(time(0));
    for (i=0;i<3;i++)
        for (j=0;j<12;j++)
            {
                for (k=0;k<4;k++)
                {
                    a[i][j][k]=rand() % 10 ;
                    printf("Vendedor %d mes %d venta producto %d = %d ",i+1, j+1,k+1, a[i][j][k]);
                }puts("\n");
            }puts("\n");

    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
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;
   srand();
   printf("15  numeros entre 1 y 10: \n\n");
   for (i = 0; i < 15; i++)
       {
           n = rand() % 10 ;
           printf("%d, ", n);

       } printf("\b\b \n\n");
   srand(time(0));
   printf("15  numeros entre 1 y 10: \n\n");
   for (i = 0; i < 15; i++)
       {
           n = rand() % 10 ;
           printf("%d, ", n);

       } printf("\b\b \n\n");
   printf("15  numeros entre 25 y 100: \n\n");
   for (i = 0; i < 15; i++)
       {
           n = 25+rand() % (101-25) ;
           printf("%d, ", n);

       } printf("\b\b \n");
}

Espero que te sea útil.
Saludos!.
#1274
Programación C/C++ / Re: Problema con funcion
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:");
    while (getchar()!='\n')
        ;
    return 0;
}
#1275
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);}
                        }
                    }
                }
}

CitarSalida:
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 C/C++ / Re: ¿ Como utilizar %n ?
29 Septiembre 2012, 22:44 PM
CitarLo 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 C/C++ / Re: ¿ Como utilizar %n ?
29 Septiembre 2012, 22:28 PM

El ejemplo es el siguiente:

Código (cpp) [Seleccionar]
#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);
  printf("val = %d\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 C/C++ / Re: LISTA DOBLE
29 Septiembre 2012, 21:33 PM
CitarCuando 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
Cita de: eleon en 27 Septiembre 2012, 17:03 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];
    scanf ("%d%s",&i,linea);
    printf ("%d  %s",i,linea);
    return 0;
}

Saludos.
#1280
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.