elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con matrices y vectores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con matrices y vectores  (Leído 2,982 veces)
ezemidget

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda con matrices y vectores
« en: 12 Diciembre 2013, 23:36 pm »

Buenas, tengo que rendir programacion y estuve practicando unos ejercicios con matrices y vectores que es lo que me van a tomar y no me sale, si alguien puede ayudarme se lo agradeceria.

Este es el primero:

Realizar un programa donde se ingresen las notas de 10 alumnos en 5 materias, calcular el promedio general.

De este ejercicio llegue hasta aca y me quede trabajo

Citar
#include <stdio.h>
#include <conio.h>

int i, j ;
float nota[10][5], suma, prom;
main()
{
      for(i=1 ; i<=10 ; i++){
              for(j=1 ; j<=5; j++){
                      printf("Ingrese las notas del alumno");
                      scanf("%f", &nota[j]);
                      suma=suma+nota[j];
                      }
                      }
                      prom=suma/50;
                      printf("El promedio general es de", &prom);
                     
                      return(0);
                      getch;
                      }
                     

Y este es el segundo:

Realizar un programa donde se ingresen la cantidad de personas que concurren a una carpa en un mes ( en total 20 carpas) (el maximo de personas por carpa son 6)
a) Calcular el promedio con carpa
b)Calcular las carpas que tienen excesos de personas
c)La cantidad de carpas que estan desocupadas
d) Calcular la ganancia que ha tenido mensualmente si por persona cobran $60

Mas que para que me hagan los ejercicios agradeceria si me pueden explicar como usar matrices y vectores


En línea

SoyelRobert

Desconectado Desconectado

Mensajes: 46



Ver Perfil
Re: Ayuda con matrices y vectores
« Respuesta #1 en: 13 Diciembre 2013, 22:25 pm »

Mmm a ver:

las variables i, j solo las usas para los fors por lo que no tiene utilidad declararlas como variables globales... Lo mismo para suma y promedio.

Luego, tu printf está dentro del segundo for eso implica que se repetirá en todas las compenetes de la matriz.

En C los arrays empiezan en la componente 0 (si es bidimensional, entonces 0,0)


mira:

Código:
#include <stdio.h>

typedef float mat [10][5];

void main()
{
int i, j;
int asignatura = 0;
int alumno = 0;
mat A;
float nota, promedio;
float suma = 0;
puts("NOTAS:\n");
for(i=0; i<9; i++){
    printf("Alumno %d\n", alumno+1);
    alumno ++;
for(j=0;j<5; j++){
    printf("asignatura %d: ", asignatura+1);
    scanf("%f", &A[i][j]);
    asignatura ++;
}
asignatura = asignatura -5;
}
asignatura = 0;

}

Eso seria un ejemplo de como cargar la matriz.

Ahora solo te queda calcular el promedio a ti  ;)


En línea

getting louder!
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con matrices y vectores
« Respuesta #2 en: 14 Diciembre 2013, 14:28 pm »

*Como sólo vas a usar una sola matriz, no le veo mucho sentido el uso de typedef, sencillamente la declaro en main.

*La función main, por cuestiones del Standard, debe ser entera, con el consiguiente return al final de la misma.

*Creo que mejor definir las variables "alumno" y "asignatura" como iguales a uno, así no hay que  estar sumando +1 en cada bucle.

*Como picardía puedo aprovechar el postincremento y ahorrarme alumno ++ y asignatura ++, pero es cuestión de gustos y claridad.

*En el primer for i va hasta <10, en lugar de <9.

**Y especialmente es bueno "indentar" el código.


Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int i, j;
  6.    int asignatura = 1,alumno = 1;
  7.    float A[10][5];
  8.    puts("NOTAS:\n");
  9.    for(i=0; i<10; i++){
  10.        printf("Alumno %d\n", alumno++);
  11.        for(j=0;j<5; j++){
  12.            printf("asignatura %d: ", asignatura++);
  13.            fflush (stdout);
  14.            scanf("%f", &A[i][j]);
  15.        }
  16.        asignatura = 1;
  17.    }
  18.    return 0;
  19. }
  20.  

REEDITO:

Mas que para que me hagan los ejercicios agradecería si me pueden explicar como usar matrices y vectores

Creo que más vale un ejemplo que mil palabras:
Bueno, que no se diga que no ayudamos a los noveles, como yo. Aquí está con la media:

Código
  1. #include <stdio.h>
  2. #define  ALUMNOS        10
  3. #define  ASIGNATURAS    5
  4.  
  5. int main()
  6. {
  7.    int i, j;
  8.    int asignatura = 1,alumno = 1;
  9.    float A[ALUMNOS][ASIGNATURAS];
  10.    float promedio_total=0, promedio[ALUMNOS]={0};
  11.    puts("NOTAS:\n");
  12.    for(i=0; i<ALUMNOS; i++){
  13.        printf("Alumno %d\n", alumno++);
  14.        for(j=0;j<ASIGNATURAS; j++){
  15.            printf("asignatura %d: ", asignatura++);
  16.            fflush (stdout);
  17.            scanf("%f", &A[i][j]);
  18.            promedio[i]+=A[i][j];
  19.        }
  20.        promedio[i]/= ASIGNATURAS;
  21.        printf("\npromedio alumno %d es %g: \n", i+1,promedio[i]);
  22.        asignatura = 1;
  23.    }
  24.    for (i=0;i<ALUMNOS;i++)
  25.        promedio_total+=promedio[i];
  26.    promedio_total/=ALUMNOS;
  27.    printf("\npromedio total es %g: \n", promedio_total);
  28.    return 0;
  29. }
  30.  

Saluditos! ..... !!!!        
« Última modificación: 14 Diciembre 2013, 20:52 pm por leosansan » En línea

SoyelRobert

Desconectado Desconectado

Mensajes: 46



Ver Perfil
Re: Ayuda con matrices y vectores
« Respuesta #3 en: 14 Diciembre 2013, 16:12 pm »

*Como sólo vas a usar una sola matriz, no le veo mucho sentido el uso de typedef, sencillamente la declaro en main.

*La función main, por cuestiones del Standard, debe ser entera, con el consiguiente return al final de la misma.

*Creo que mejor definir las variables "alumno" y "asignatura" como iguales a uno, así no hay que  estar sumando +1 en cada bucle.

*Como picardía puedo aprovechar el postincremento y ahorrarme alumno ++ y asignatura ++, pero es cuestión de gustos y claridad.

*En el primer for i va hasta <10, en lugar de <9.

**Y especialmente es bueno "indentar" el código:


Si jaja la verdad es que el typedef lo he puesto casi que por costumbre en este caso efectivamente es tonteria

Pero lo de que Main debe ser entera? Si no se esta usando el retorno del main para nada, si se declara como void no habria problema... hasta donde yo tengo entendido...

Y respecto al fflush tampoco tiene mucha utilidad en este pequeño programa no?

salu2!
« Última modificación: 14 Diciembre 2013, 16:13 pm por SoyelRobert » En línea

getting louder!
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con matrices y vectores
« Respuesta #4 en: 14 Diciembre 2013, 16:23 pm »

Con respecto a main ya te indique que es cuestión del estándar de C y respecto al fflush(stdout)  a lo simple  es necesario para asegurarnos después de un printf sin \n de que el texto se envie a la salida estándar, puedes usar el motor de búsqueda para ampliar.

Saluditos! ..... !!!!        
« Última modificación: 14 Diciembre 2013, 16:54 pm por leosansan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines