• Lunes 6 de Mayo de 2024, 12:46

Autor Tema:  Matriz Orden Decreciente Por Columnas  (Leído 1141 veces)

cazadorite

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Matriz Orden Decreciente Por Columnas
« en: Jueves 20 de Diciembre de 2007, 01:01 »
0
hi quiero ordenar una matriz por columnas en orden decreciente pero no me sale bien sale desordenado.
-_- que tengo mal.

Código: Text
  1.  
  2. #include <stdio.h>
  3. #include<conio.h>
  4. #include <string.h>
  5.  
  6. void main (void)
  7. {
  8.   char cp[4],tm[4],vtm[2][4],vcp[4][4];
  9.   int cant;
  10.   int mt[4][2]={0};
  11.  
  12.   for(int i=0; i<2; i++)
  13.   {
  14.     printf("tipo maq. 2mx(4 string)" );   //cargo 1 lote
  15.     fflush(stdin);
  16.     gets(vtm[i]);
  17.   }
  18.  
  19.     int x=0;
  20.     printf("cant ");
  21.     scanf("%d",&cant);
  22.     while(cant!=0)
  23.     {
  24.         printf("tipo maq. 2mx(4 string)" );
  25.         fflush(stdin);
  26.         gets(tm);
  27.         printf("cod. pais 4mx( 4 string" );
  28.         fflush(stdin);
  29.         gets(cp);
  30.  
  31.         int k=0;
  32.         while(strcmp(vtm[k],tm)!=0 && k<2)
  33.         {
  34.           k++;               //busca si existe la maquina y salta su posicion
  35.         }
  36.  
  37.          int h=0;
  38.         while(h<x && strcmp(vcp[h],cp)!=0)
  39.         {
  40.           h++;                    //inserto cod. de pais
  41.         }
  42.         if(h>=x)
  43.         {
  44.           strcpy(vcp[h],cp);
  45.           x++;                     //insercion de cadena
  46.         }
  47.  
  48.         mt[h][k]+=cant;  // acumulo la cantidad total para cada pais y tipo de maquina
  49.  
  50.       printf("cant ");
  51.       scanf("%d",&cant);
  52.     }
  53.  
  54.     int aux;
  55.     for(int a=0; a<2; a++)
  56.   {
  57.     for(int b=0; b<3; b++)
  58.     {
  59.       for(int c=b+1; c<4; c++)
  60.       {
  61.       if(mt[b][a]<mt[c][a])
  62.       {                         //      quiero ordenar matriz en orden decreciente  x cantidad total
  63.         aux=mt[b][a];                  //ordenar por columnas
  64.         mt[b][a]=mt[c][a];
  65.         mt[c][a]=aux;                   // no funka
  66.       }
  67.       }
  68.     }
  69.   }
  70.     for(int r=0; r<4; r++)
  71.     {
  72.       for(int s=0; s<2; s++)
  73.       {
  74.         printf( " cod. pais %s tipo maquinaria %s total cantidad %d  \n",vcp[r],vtm[s],mt[r][s]);
  75.       }
  76.     }                                        // total cantidad tiene que salir en forma decreciente
  77. }
  78.  
  79.  
  80.  

Solenbum

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Matriz Orden Decreciente Por Columnas
« Respuesta #1 en: Jueves 20 de Diciembre de 2007, 14:30 »
0
?has depurado/traceado algo? ?o ejecutar paso por paso?
Incluso puedes tracearlo en una hoja de papel por si no tienes depurador.y
es que claro, poner el codigo y decir, entiendelo y mira en que falla es muy comodo

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Re: Matriz Orden Decreciente Por Columnas
« Respuesta #2 en: Miércoles 26 de Diciembre de 2007, 07:48 »
0
se me hace que es mucho rollo para lo que quieres hacer :blink:, ademas que flojera entenderle a tu codigo, si le pusiernas mas comentarios tal vez diera menos flojera jeje, pero bueno como te dije compar;ero creo que es mucho rollo ese codigo.
atte:fORU-