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#include<stdio.h>
#include <stdlib.h>
#include <math.h>
void funci( float *metod, int *vector, int n, int escanos, int partidos );
main()
{
int partidos=0;
int mpartidos[17][50];
float votos;
int i;
int f;
int c;
int a=0;
int TAM=100;
float metod[17];
int fil;
int vector[18];
int x=1;
int z;
printf("\n\n Bienvenido al sistema de calculo de escanos.\n por favor siga las instrucciones, gracias\n");
while ( partidos <2 || partidos>16){
printf("\n eliga el numero de partidos politicos que desea (numero entre 2 y 16)\t"); }
for (f=0;f<partidos;f++){
for (c=0;c<50;c++){
mpartidos[f][c]=0;
}
}
int escanos=0;
while (escanos<7 || escanos>100){
printf("\n numero de escanos:(numero entre 7 y 100)\t"); }
printf("\n A continuacion meta los votos recibidos por cada partido:\n"); for (i=0;i<partidos;i++){
a=i+1;
printf("\n partido(%d)=\t",a
); mpartidos[i][0]=votos;
}
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");
/*METODO DHONT*/
for (fil=0;fil<partidos;fil++){
metod[fil]=mpartidos[fil][0];
vector[fil]=mpartidos[fil][1];
}
funci (metod,vector, x, escanos, partidos );
for (fil=0;fil<partidos;fil++){
mpartidos[fil][1]=vector[fil];
}
/*fin metodo DHONT*/
printf("\n\t\tDHONT \t\tHAMILTON \t\t LEAGUE \t HILL-HUNTINGTON\n");
for (i=0; i<partidos; i++) {
z=i+1;
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]); }
return 0;
}
/*FUNCION*/
void funci( float *metod, int *vector, int n, int escanos, int partidos ){
float metodo[17][1000];
float aq;
int fil;
int col;
float cl;
int TAM=100;
float d;
float mx=0;
int aa,bb;
int i;
for (fil=0;fil<partidos;fil++){
cl=0;
for (col=0;col<TAM;col++){
if (n==1){
d=cl+1;
}
if (n==2){
d=(2*cl)+1;
}
if (n==3){
}
aq=metod(fil)/(d);
metodo[fil][col]=(aq);
cl++;
}
}
for(i=0;i<escanos;i++){
for (fil=0;fil<partidos;fil++){
for (col=0;col<TAM;col++){
if (metodo[fil][col]>mx){
mx=metodo[fil][col];
aa=fil;
bb=col;
}
}
}
metodo[aa][bb]=0;
mx=0;
vector(aa)=vector(aa)+1;
}
}