Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/11/2010, 17:15
tommylej
 
Fecha de Ingreso: noviembre-2010
Mensajes: 15
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: problema con funciones

hola esto es lo que mejor he hecho y no funciona, no compila, ayudenme por favor llevo dos dias dandole vueltas
Código C:
Ver original
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. void funci( float *metod, int *vector, int n, int escanos, int partidos );
  6.  
  7.    
  8. main()
  9. {
  10.    
  11.     int partidos=0;
  12.     int mpartidos[17][50];
  13.     float votos;
  14.     int i;
  15.     int f;
  16.     int c;
  17.     int a=0;
  18.     int TAM=100;
  19.     float metod[17];
  20.     int fil;
  21.     int vector[18];
  22.     int x=1;
  23.     int z;
  24.     printf("\n\n Bienvenido al sistema de calculo de escanos.\n por favor siga las instrucciones, gracias\n");
  25.  
  26.     while ( partidos <2 || partidos>16){
  27.         printf("\n eliga el numero de partidos politicos que desea (numero entre 2 y 16)\t");
  28.         scanf("%d",&partidos);
  29.     }
  30.     for (f=0;f<partidos;f++){
  31.         for (c=0;c<50;c++){
  32.  
  33.             mpartidos[f][c]=0;
  34.         }
  35.     }
  36.     int escanos=0;
  37.         while (escanos<7 || escanos>100){
  38.         printf("\n numero de escanos:(numero entre 7 y 100)\t");
  39.         scanf("%d",&escanos);
  40.     }
  41.        
  42.     printf("\n A continuacion meta los votos recibidos por cada partido:\n");
  43.     for (i=0;i<partidos;i++){
  44.         a=i+1;
  45.         printf("\n partido(%d)=\t",a);
  46.         scanf("%f",&votos);
  47.         mpartidos[i][0]=votos;
  48.     }
  49.    
  50.     printf("\n\n Ahora el programa calculara los escanos segun estos 4 metodos:\n \n HAMILTON \n \n D'HONT \n \n LAGUE \n \n HILL-HUNTINGTON \n \n");
  51.      
  52.         /*METODO DHONT*/
  53.    
  54.     for (fil=0;fil<partidos;fil++){
  55.             metod[fil]=mpartidos[fil][0];
  56.             vector[fil]=mpartidos[fil][1];
  57.         }
  58.    
  59.     funci (metod,vector, x, escanos, partidos );
  60.    
  61.     for (fil=0;fil<partidos;fil++){
  62.         mpartidos[fil][1]=vector[fil];
  63.         }
  64.            
  65.    
  66.     /*fin metodo DHONT*/
  67.    
  68.     printf("\n\t\tDHONT \t\tHAMILTON \t\t LEAGUE \t HILL-HUNTINGTON\n");
  69.    
  70.     for (i=0; i<partidos; i++) {
  71.                     z=i+1;
  72.                     printf("\n partido%d \t%d  \t\t  %d \t\t\t %d \t\t\t %d\n",z,mpartidos[i][1],mpartidos[i][2],mpartidos[i][3],mpartidos[i][4]);
  73.                 }
  74.     printf("\n");
  75.     return 0;
  76. }  
  77.             /*FUNCION*/
  78.        
  79.         void funci( float *metod, int *vector, int n, int escanos, int partidos ){
  80.         float metodo[17][1000];
  81.         float aq;
  82.         int fil;
  83.         int col;
  84.         float cl;
  85.         int TAM=100;
  86.         float d;
  87.         float mx=0;
  88.         int aa,bb;
  89.         int i;
  90.         for (fil=0;fil<partidos;fil++){
  91.             cl=0;
  92.             for (col=0;col<TAM;col++){
  93.                 if (n==1){
  94.                     d=cl+1;
  95.                     }
  96.                 if (n==2){
  97.                     d=(2*cl)+1;
  98.                 }
  99.                 if (n==3){
  100.                     d=sqrt(cl*(cl+1));
  101.                 }
  102.                 aq=metod(fil)/(d);
  103.                 metodo[fil][col]=(aq);
  104.                 cl++;
  105.             }
  106.            
  107.         }
  108.            
  109.         for(i=0;i<escanos;i++){
  110.             for (fil=0;fil<partidos;fil++){
  111.                 for (col=0;col<TAM;col++){
  112.                     if (metodo[fil][col]>mx){
  113.                         mx=metodo[fil][col];
  114.                         aa=fil;
  115.                         bb=col;
  116.                     }
  117.                 }
  118.             }
  119.             metodo[aa][bb]=0;
  120.        
  121.             mx=0;
  122.             vector(aa)=vector(aa)+1;
  123.         }
  124.  
  125.     }