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
¿Para qué son los vectores si lo puedes hacer con algunas variables y ciclos?
es para la universidad amigo y necesito hacerlo con vectores.. si me podria ayudar le agradeceria muchisimo
#include <stdio.h>
#define MAX 10
int main(void)
{
/* Las tablas a calcular */
signed int tabla[MAX] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
}, i, j;
/* Almacena temporalmente los valores de cada tabla */
signed int almacenado[MAX];
for(i = 1; i <= MAX; i++)
{
for(j = 1; j <= MAX; j++)
{
almacenado[i] = tabla[i - 1] * j;
printf("%d x %d = %d\n", tabla[i - 1], j, almacenado[i]);
}
}
return 0;
}
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
Primero date un tiempo de redactar correctamente el enunciado, tomando en cuenta comas, puntos y demás. Primero eso, luego ya veremos.
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
¿cuáles son los alumnos de la sección 5?
eso no importa, puede ser cualquiera sección cualquiera cantidad de alumnos,
Mira, aquí está el código en C, es muy sencillo, solo debes leerlo detenidamente:
#include <stdio.h>
#include <stdlib.h>
#define F 3
#define C 3
int main(void)
{
unsigned int i, j;
signed int matriz[F][C] = {
{2, 4, 6},
{12, 14, 18},
{19, 24, 2}
};
unsigned int menores = 0, mayores = 0;
for(i = 0; i < F; i++)
{
for(j = 0; j < C; j++)
if(matriz[i][j] >= 18)
{
mayores++;
} else {
menores++;
}
}
printf("Mayores : %u\nMenores : %u\n", mayores, menores);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define F 3
#define C 3
int main(void)
{
unsigned int i, j;
signed int matriz[F][C] = {
{2, 4, 6},
{12, 14, 18},
{19, 24, 2}
};
unsigned int menores = 0, mayores = 0;
for(i = 0; i < F; i++)
for(j = 0; j < C; j++)
matriz[i][j] >= 18 ? mayores++ : menores++;
printf("Mayores : %u\nMenores : %u\n", mayores, menores);
return 0;
}
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 ?
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
#define F 3
#define C 3
estas definiendo F que tenga 3 columnas y C 3 columnas no ?
Sí. Es igual que definir variables F y C y darles valor de 3 respectivamente.
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 ???
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.
#include <stdio.h>
#define A 5
int main(void)
{
unsigned int i;
signed int arreglo[A] = {19, 24, 2, 3, 45};
unsigned int menores = 0, mayores = 0;
for(i = 0; i < A; i++)
if(arreglo[i] >= 18)
{
mayores++;
} else {
menores++;
}
printf("Mayores : %u\nMenores : %u\n", mayores, menores);
getchar();
}
Si no sabes cuántos alumnos serán, necesitas asignación dinámica de memoria, un arreglo dinámico.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned int i, n, mayores = 0, menores = 0;
printf("n : ");
scanf("%u", &n);
signed int *alumnos = malloc(n * sizeof(int));
/* Guardar los datos : */
for(i = 0; i < n; i++)
{
printf("Alumno %d : ", i + 1);
scanf("%d", alumnos + i);
/* Limpiamos el buffer */
while(getchar() != '\n');
}
/* Hacemos el conteo */
for(i = 0; i < n; i++)
*(alumnos + i) >= 18 ? mayores++ : menores++;
printf("Mayores : %d\nMenores : %d\n", mayores, menores);
/* Liberar la memoria */
free(alumnos);
return 0;
}
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
Sigo sin entender para qué una matriz.
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...
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.
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...
A ver, ¿sabes la diferencia entre matriz y arreglo?
no se amigo
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.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned int i, n, mayores = 0, menores = 0;
printf("n : ");
scanf("%u", &n);
signed int *alumnos = malloc(n * sizeof(int));
/* Guardar los datos : */
for(i = 0; i < n; i++)
{
printf("Alumno %d : ", i + 1);
scanf("%d", alumnos + i);
/* Limpiamos el buffer */
while(getchar() != '\n');
}
/* Hacemos el conteo */
for(i = 0; i < n; i++)
*(alumnos + i) >= 18 ? mayores++ : menores++;
printf("Mayores : %d\nMenores : %d\n", mayores, menores);
/* Liberar la memoria */
free(alumnos);
return 0;
}