Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: attackers en 28 Abril 2011, 02:38 am



Título: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 02:38 am
quien me puede ayudar hacer una tabla de multplicar en pseudocodigo es para la universidad... el enunciado es asi..

desarrolle una tabla de multiplicar comprendida del 1 al 9 utilizando 2 vectores

 

segun lo que yo investigue hice algo asi pero no se si esta bien

algoritmo matrices
variables a[10], b[10], numero

inicio
 mostrar " introduzca el numero "

hacer para 
( i=1 ; i <=10 i++)
   {
       mostrar " /n %d x %d = %d numero, i, b[10] }

fin


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 02:41 am
¿Para qué son los vectores si lo puedes hacer con algunas variables y ciclos?


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 02:43 am
es para la universidad amigo y necesito hacerlo con vectores.. si me podria ayudar le agradeceria muchisimo


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 02:58 am
Código
  1. #include <stdio.h>
  2.  
  3. #define MAX 10
  4.  
  5. int main(void)
  6. {
  7.    /* Las tablas a calcular */
  8.    signed int tabla[MAX] = {
  9.        1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  10.    }, i, j;
  11.  
  12.    /* Almacena temporalmente los valores de cada tabla */
  13.  
  14.    signed int almacenado[MAX];
  15.  
  16.    for(i = 1; i <= MAX; i++)
  17.    {
  18.        for(j = 1; j <= MAX; j++)
  19.        {
  20.            almacenado[i] = tabla[i - 1] * j;
  21.            printf("%d x %d = %d\n", tabla[i - 1], j, almacenado[i]);
  22.        }
  23.    }
  24.  
  25.    return 0;
  26. }
  27.  


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:03 am
amigo me los podria pasar a pseudocodigo y tengo otro ejercicio para resolver


elabore un algoritmo que dimencione una matriz de Nfila por Ncolumna  se lleva llenar la matriz con la edades de los alumnos, luego de llenar la matricez clasificar cuantos alumnos hay menores de edad  y mayores de edad


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:07 am
Primero date un tiempo de redactar correctamente el enunciado, tomando en cuenta comas, puntos y demás. Primero eso, luego ya veremos.


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:14 am
elabore un algoritmo que dimencione una matriz de Nfila por Ncolumna...
Se lleva llenar la matriz con las edades de los alumnos de la sección 5...
Luego de llenar la matricez clasificar cuantos alumnos hay menores de edad  y mayores de edad





Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:19 am
¿cuáles son los alumnos de la sección 5?


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:23 am
eso no importa, puede ser cualquiera sección cualquiera cantidad de alumnos,


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:30 am
Mira, aquí está el código en C, es muy sencillo, solo debes leerlo detenidamente:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define F   3
  5. #define C   3
  6. int main(void)
  7. {
  8.    unsigned int i, j;
  9.    signed int matriz[F][C] = {
  10.        {2, 4, 6},
  11.        {12, 14, 18},
  12.        {19, 24, 2}
  13.    };
  14.  
  15.    unsigned int menores = 0, mayores = 0;
  16.  
  17.    for(i = 0; i < F; i++)
  18.    {
  19.        for(j = 0; j < C; j++)
  20.        if(matriz[i][j] >= 18)
  21.        {
  22.            mayores++;
  23.        } else {
  24.            menores++;
  25.        }
  26.    }
  27.  
  28.    printf("Mayores : %u\nMenores : %u\n", mayores, menores);
  29.    return 0;
  30. }
  31.  
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define F   3
  5. #define C   3
  6. int main(void)
  7. {
  8.    unsigned int i, j;
  9.    signed int matriz[F][C] = {
  10.        {2, 4, 6},
  11.        {12, 14, 18},
  12.        {19, 24, 2}
  13.    };
  14.  
  15.    unsigned int menores = 0, mayores = 0;
  16.  
  17.    for(i = 0; i < F; i++)
  18.        for(j = 0; j < C; j++)
  19.        matriz[i][j] >= 18 ? mayores++ : menores++;
  20.  
  21.    printf("Mayores : %u\nMenores : %u\n", mayores, menores);
  22.    return 0;
  23. }
  24.  


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:32 am
hermano entiendo la mayoria del codigo menos esta parte...

        {2, 4, 6},
        {12, 14, 18},
        {19, 24, 2}

me podrias explicar te lo agradeceria mucho


 y en la parte de

#define F   3
#define C   3


estas definiendo F que tenga 3 columnas y C 3 columnas no ?


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:35 am
Es una matriz ó array de array de F filas (definidas en la macro) por C columnas (también definidas en la macro).

{2, 4, 6}, <----- la primera fila, la fila 0
{12, 14, 18}, <----- la segunda fila, la fila 1
{19, 24, 2} <----------- la tercera fila, la fila 2


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:40 am
#define F   3
#define C   3


estas definiendo F que tenga 3 columnas y C 3 columnas no ?


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:43 am
Sí. Es igual que definir variables F y C y darles valor de 3 respectivamente.


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:46 am
abria otra forma de hacerlo pero en vez de 3 columnas y 3 filas que tenga las que diga el usuario o dependiendo del numero de alumnos..... por ejemplo en un salon pueden aver 3 alumnos este sirve, pero si en otro salon hay 40 alumnos ???


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 03:51 am
Mira, en un principio lo pediste que fuera con una matriz, cosa que no tiene sentido, ya que si hablamos de un salón de clases, lo mejor sería un arreglo, es decir, una estructura lineal, no una matriz.


Código
  1. #include <stdio.h>
  2.  
  3. #define A   5
  4.  
  5. int main(void)
  6. {
  7.    unsigned int i;
  8.    signed int arreglo[A] = {19, 24, 2, 3, 45};
  9.  
  10.    unsigned int menores = 0, mayores = 0;
  11.  
  12.    for(i = 0; i < A; i++)
  13.        if(arreglo[i] >= 18)
  14.        {
  15.            mayores++;
  16.        } else {
  17.            menores++;
  18.        }
  19.  
  20.    printf("Mayores : %u\nMenores : %u\n", mayores, menores);
  21.    getchar();
  22. }
  23.  

Si no sabes cuántos alumnos serán, necesitas asignación dinámica de memoria, un arreglo dinámico.


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.    unsigned int i, n, mayores = 0, menores = 0;
  7.    printf("n : ");
  8.    scanf("%u", &n);
  9.  
  10.    signed int *alumnos = malloc(n * sizeof(int));
  11.  
  12.    /* Guardar los datos : */
  13.    for(i = 0; i <  n; i++)
  14.    {
  15.        printf("Alumno %d : ", i + 1);
  16.        scanf("%d", alumnos + i);
  17.        /* Limpiamos el buffer */
  18.        while(getchar() != '\n');
  19.    }
  20.  
  21.    /* Hacemos el conteo */
  22.    for(i = 0; i < n; i++)
  23.    *(alumnos + i) >= 18 ? mayores++ : menores++;
  24.  
  25.    printf("Mayores : %d\nMenores : %d\n", mayores, menores);
  26.    /* Liberar la memoria */
  27.    free(alumnos);
  28.    return 0;
  29. }
  30.  


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 03:59 am
lo que el profesor quiere es que sirva para la sección 5.. pero tambien para otra secciones por ejemplo en la sección 5 hay 40 alumnos... osea que codigo pida cuantos alumnos hay en X sección... y el dependiendo de los alumnos hace las filas y las columnas...  eso creo que quiere el profesor


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 04:08 am
Sigo sin entender para qué una matriz.


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 04:12 am
por que el objetivo o tema que estamos viendo es de matrices.. o esa es la unica razon que le encuentro lo cierto es que tiene que ser con matrices...


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 04:22 am
Mmmm, no, a menos que cada sección tenga el mismo número de alumnos.

Ejemplo:

alumnos[10][20], 10 secciones con 20 alumnos cada sección.


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 04:35 am
yo estaba haciendo este y se lo mostre al profesor

algoritmo "matricez"

variables a[5], b[8]

inicio


hacer para (C=0 ;  C< 5 ; i++)

   {
        for ( J=0 ;  J< 8 ; J++)

leer a[C][j];

   
   si ( a[C][j] <18 )

{ contador = contador ++}
   sino contador2= contador 2++}

fin


me dijo que a[5], b[8] no iba por que no sabias cuantos alumnos iban hacer...


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 04:37 am
A ver, ¿sabes la diferencia entre matriz y arreglo?


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: attackers en 28 Abril 2011, 04:42 am
no se amigo


Título: Re: ayuda con pseudocodigo, crear tabla de multplicar
Publicado por: leogtz en 28 Abril 2011, 04:55 am
Mira, un arreglo, array o vector, es una estructura de datos líneal, que sirve para guardar datos del mismo tipo. Te he dicho que para hacer el conteo de mayores de edad y menos de edad en un salón no necesitas de una matriz, sino un arreglo, porque los alumnos en un salón podrían ser almacenador perfectamente en un arreglo.

Si no sabes cuantos alumnos va a haber en tal salón, se utiliza un arreglo dinámico, es decir, podemos definir en tiempo de ejecución el tamaño del arreglo. Te he dejado más atrás un ejemplo de esto.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.    unsigned int i, n, mayores = 0, menores = 0;
  7.    printf("n : ");
  8.    scanf("%u", &n);
  9.  
  10.    signed int *alumnos = malloc(n * sizeof(int));
  11.  
  12.    /* Guardar los datos : */
  13.    for(i = 0; i <  n; i++)
  14.    {
  15.        printf("Alumno %d : ", i + 1);
  16.        scanf("%d", alumnos + i);
  17.        /* Limpiamos el buffer */
  18.        while(getchar() != '\n');
  19.    }
  20.  
  21.    /* Hacemos el conteo */
  22.    for(i = 0; i < n; i++)
  23.    *(alumnos + i) >= 18 ? mayores++ : menores++;
  24.  
  25.    printf("Mayores : %d\nMenores : %d\n", mayores, menores);
  26.    /* Liberar la memoria */
  27.    free(alumnos);
  28.    return 0;
  29. }
  30.