Asesoria en programa con uso matrices

Iniciado por andywiess, 26 Junio 2016, 20:37 PM

0 Miembros y 1 Visitante están viendo este tema.

andywiess

Hola soy nuevo en este foro, espero poder aprender y contribuir con ustedes, planteo mi problema, estoy iniciando un curso y el maestro nos puso un programa el segundo dia y pues la verdad soy nuevo en lenguajes de programacion, entiendo que mi problema hace uso de matrices pero no se representarlo, espero puedan ayudarme, el problema es el siguiente.

1.- Se quiere controlar el número de habitantes de un eidificio con 6 pisos y 4 puertas (A,B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de
cada puerta del edificio. El programa debe decir la vivienda (piso y puerta) que más
habitantes tiene del edificio.

No se que tan basico es este problema, pero siento que para alguien nuevo si esta algo pesado, deseo puedan ayudarme, y no quitarles mucho tiempo.

AlbertoBSD

Se tiene que recorrer toda la matriz dw principio a fin y mientras se va recorriendo necesitas comparar y guardar la posicion del elemento mas alto.

Se inicializa una variable con un valor muy bajo o con el primero de la matriz y posteriormente en cada iteracion del ciclo comparar:

Es la variable anterior mas grande que la actual?

Si es asi guardara fila y columna actual

Si tienes problemas con matrices te dejo uno de mis videos.

[youtube=640,360]https://www.youtube.com/watch?v=U-zA-VvOllM[/youtube]
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

andywiess

Hola voy a checar tu video y pondre el codigo que haga, espero y no quitarles mucho tiempo, ya que pues soy nuevo en c++ y espero poder acompletar este programa, gracias por la respuesta, checare el video

andywiess

Hola amigo en el ejemplo son numeros random, como le haria para ir introduciendo los habitantes manualmente y despues compararlos

AlbertoBSD

Hola!!

Hay sustituir la asignacion de numero random con un printf y un scanf o fgets


Es decir:

printf("Ingrese un numero: ");
scanf("%d",&numero);


o en lugar de scanf mejor fgets:

fgets(cadena,20,stdin);
numero = atoi(cadena);


Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

andywiess

Hola realizo el cambio y me pregunta por un numero como le hago para que me pregunte hasta llenar toda la matriz que seria de 6 x 4, y ahora como hago la comparacion para que me diga el piso con mas gente y la puerta que tiene mas de ese piso, disculpa si no soy muy claro solo que si me trae loco este ejercicio, muchas gracias por tomarte el tiempo de responderme

AlbertoBSD

int x[6][4],i,j,mayor,imayor,jmayor;
//colocar datos;
i=0;
mayor = x[0][0] -1;
while(i < 6){
  j=0;
  while(j < 4) {
     if(mayor < x[i][j]){ // la comparacion se hace aqui
       mayor = x[i][j]
       imayor = i;
       jmayor = j;
     }
     j++;
   }
   i++;
}
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW