[ Foro de C++ ]

ayuda en arreglo bidimensional

08-Sep-2014 15:56
Paul alagon cumpa
2 Respuestas

podrian ayudar como hacer el programa solamente tengo 2 clases de algoritmo y estructura de datos tengo una idea en pseudocodigo pero no puedo hacerlo en LP c++

 
/* REALIZAR EL PROGRAMA QUE INGRESE A UN ARREGLO
   BIDIMENSIONAL LAS VENTAS MENSUALES DE M VENDEDORES
   DURANTE 1 AÑO. SE PIDE CALCULAR E IMPRIMIR:
   A) EL TOTAL DE LA VENTAS POR VENDEDOR
   B) LA MAS ALTA VENTA DE CADA VENDEDOR
   C) LA MAS BAJA VENTA DEL MES 5.
*/
#include<iostream.h>
#include<conio.h>
void main()
{
  int m,i,j;
  float tot,v[10][12];
  do
  {
    cout<<"Ingrese cantidad de vendedores ";
    cin>>m;
  }
  while(m>10);
  for(i=1;i<=m;i++)
  {
    for(j=1;j<=12;j++)
    {
      cout<<"Ingrese la venta del vendedor "<<i<<" en el mes "<<j<<": ";
      cin>>v[i][j];
    }
  }
  cout<<"Las ventad mensuales por vendedor son "<<endl;
  for(i=1;i<=m;i++)
  {
    for(j=1;j<=12;j++)
    {
      cout<<v[i][j]<<"  ";
    }
    cout<<endl;
  }
  cout<<"Calculando el total de ventas por vendedor "<<endl;
  for(i=1;i<=m;i++)
  {
    tot=0;
    for(j=1;j<=12;j++)
    {
       tot=tot+v[i][j];
    }
    cout<<"El total de ventas del vendedor "<<i<<" es "<<tot<<endl;
  }
  getch();
}
 




08-Sep-2014 19:56
Luis Torres (+12)

En la línea en la que tienes escrito:

 
while (m>10);
 


¿Qué pretendes hacer con ella?
Al colocarle el ";" estás creando un ciclo infinito si el usuario introduce un valor de "m" mayor a 10, y será ignorada si el usuario coloca un valor inferior o igual a 10.
Para crear un while, deberías hacerlo de la siguiente manera:

 
while(m>10)
{
   instrucción 1;
   instrucción 2;
   .
   .
   .
   instrucción n;
}
 


No creo que haga falta poner un ciclo while, porque basta con los dos for que tienes más adelante para hacer la lectura de las ventas realizadas por cada vendedor.

Tienes que pensar más sobre lo que te acabo de escribir.

Saludos.


08-Sep-2014 22:47
Luis Torres (+12)

De todas maneras aquí te dejo el código en el que está resuelta la parte B y C:

 
#include <iostream>
 
const int VEND = 2; //Cantidad de vendedores
const int MES = 3;  //Cantidad de meses del año
 
using namespace std;
int main()
{
  int mat[VEND][MES];
  int totVent[VEND];
  int MaxVent[VEND];
  int minVent[VEND];
  int i, j, Total;
 
  // Leemos los valores tecleados por el usuario
  for (i=0;i<VEND;i++)
  { 
     cout<<"Vendedor "<<i+1<<endl;
     Total = 0; 
     for (j=0;j<MES;j++)
     {   
        cout<<"Mes "<<j+1<<": ";
        cin>>mat[i][j];
        Total += mat[i][j]; // Podemos ir calculando el total de cada vendedor en este mismo ciclo   
     }
     totVent[i]= Total;
     cout<<endl;
  }
 
  // Calculamos los valores Maximos y minimos de cada vendedor
  for (i=0;i<VEND;i++)
  {
     MaxVent[i] = mat[i][0]; 
     minVent[i] = mat[i][0];  
     for (j=1;j<MES;j++)
     {
        if (mat[i][j]>MaxVent[i])
        {
           MaxVent[i] = mat[i][j];     
        }
        if (mat[i][j]<minVent[i])
        {
           minVent[i] = mat[i][j];    
        }           
     }
  }
  // Mostramos en pantalla el total de ventas de cada vendedor 
  for (i=0;i<VEND;i++)
  {
     cout<<"El total de ventas del vendedor "<<i+1<<" es: "<<totVent[i]<<endl;      
  }
  // Mostramos el Maximo vendido por cada vendedor
  for (i=0;i<VEND;i++)
  {
     cout<<"El maximo vendido del vendedor "<<i+1<<" es: "<<MaxVent[i]<<endl;      
  }
  // Mostramos el minimo vendido por cada vendedor
  for (i=0;i<VEND;i++)
  {
     cout<<"El minimo vendido del vendedor "<<i+1<<" es: "<<minVent[i]<<endl;      
  }   
 
  system("PAUSE"); 
  return 0;    
}
 
 






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)