wenas perdonen la molestia es que depuro el codigo pero no se lo que esta mal en el codigo provoca error espero alguna sugerencia
*******
1er lote con datos de las ciudades que la empresa tiene como destinos. cada registro tiene.
codigo de ciudad (string[3])
nombre de la ciudad(string[30])
hay un total de 100 ciudades.
2do lote tiene las tarifas y distancias entre las distintas ciudades. y contiene:
codigo de ciudad de origen (string[3])
codigo de ciudad de destino (string[3])
distancia en kms
precio x pasaje
este lote finaliza con distancia igual a 0
No todas las ciudades estan unidas con las otras.
ejemplo
origen destino DISTANCIA precio x pasaje
bas MDP 400 30
cor SFE 450 20
Nota: el viaje de buenos aires a mar del plata aparece una sola vez en el lote, es decir no vuelve a repetirse como origen mdp y destino bas
ya que la distancia y precio son similares.pero en el tercer lote los pasajes se pueden vender en cualquiera de los dos sentidos bas a mdp o mdp a bas.
3er lote con las ventas efectuadas durante el mes anterior. cada registro tiene:
ciudad de origen (string[3])
ciudad de destino (string[3])
cantidad de pasajes vendidos
fin de lote dia igual a 0
informa:
a)el nombre de la ciudad a la que hayan viajado mayor cantidad total de pasajeros en todo el mes.
b)indicar para cada uno de los 100 codigos de ciudades cual es la ciudad mas distante a la que se puede llegar con los omnibus de esta empresa.
ciudad ciudad mas distante
bas ush
for men
***********
#include <stdio.h>
#include<conio.h>
#include <string.h>
void main (void)
{
char vcc[4][3],vnm[4][3],co[3],cd[3];
int dist,pu,cp;
int vtp[4]={0};
int md[4][4]={0};
int mp[4][4]={0};
for(int i=0; i<4; i++)
{
printf("cod. ciudad 4mx " ); // cargo cod. ciudad y los nombres de todas las ciudades
fflush(stdin);
gets(vcc[i]);
printf("nombre ciudad 4mx " );
fflush(stdin);
gets(vnm[i]);
}
printf("dist. en km ");
scanf("%d",&dist);
while(dist!=0)
{
printf("cod. ciudad origen 4mx " );
fflush(stdin);
gets(co);
printf("cod. ciudad destino 4mx ");
fflush(stdin);
gets(cd);
printf("precio x pasaje ");
scanf("%d",&pu);
int k=0;
while(strcmp(vcc[k],co)!=0 && k<4) //busco si el cod. origen existe
{
k++;
}
int h=0;
while(strcmp(vcc[h],cd)!=0 && h<4)
{
h++; //busco si existe cod. destino
}
md[k][h]+=dist; // acumulo para cada origen y destino la distancia
mp[k][h]+=pu; // acumulo para cada origen y destino el precio
printf("dist. en km ");
scanf("%d",&dist);
}
printf("cant. pasajes vend. ");
scanf("%d",&cp);
while(cp!=0)
{
printf("cod. ciudad origen 4mx ");
fflush(stdin);
gets(co);
printf("cod. ciudad destino 4mx ");
fflush(stdin);
gets(cd);
int l=0;
while(strcmp(vcc[l],cd)!=0 && l<4)
{
l++; //busco si existe cod. destino
}
vtp[l]+=cp; //acumulo total pasajes vendidos para destino
printf("cant. pasajes vend. ");
scanf("%d",&cp);
}
int mx=vtp[0],pos;
for(int j=0; j<4; j++)
{
if(vtp[j]>mx)
{
mx=vtp[j];
pos=j; //muestro el nombre del destino donde viajaron max cantidad de pasajeros
}
}
printf( " la ciudad %s viajaron mayor cant de pasajeros \n",vnm[pos]);
for(int r=0; r<4; r++)
{
int max=md[r][0],ps;
for(int s=0; s<4; s++)
{ // esto no me anda
if(md[r][s]>max) //quiero mostrar para cada ciudad de origen la ciudad mas distante
{ //osea la de mayor distancia
max=md[r][s];
ps=s;
}
} //aca tiene que mostrar el cod. pero salta error
printf( " para la ciudad %s la ciudad mas distante es %s \n",vcc[r],vcc[ps]);
}
}