Hola a todo el foro. Necesito ayuda con respecto a un problema q tengo en un pequeño programa de C en el cual aparece un error illegal use of floating point in function main y ya he buscado por internet pero no puedo solucionarlo. El programa se basa en cargar una matriz por punteros, pasar la matriz a un vector, ordenar el vector, pasar el vector ordenado a la matriz e imprimirla.
Desde ya muchas gracias.
El programa es el siguiente:
#include<stdio.h>
#include<conio.h>
void main (void)
{ int i,j,k,l,m;
float a[3][3][2],b[18],t;
l=0;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
for(k=0;k<2;++k)
{ printf(" \n a[%d][%d][%d]: ",i,j,k);
scanf("%f",(a+l));
b[l]= *(a+l); // aca es donde aparece el error
++l;
}
do
{ m=0;
for(i=0;i<l-1;++i)
if(b<b[i+1])
{ t=*(b+i);
*(b+i)=*(b+i+1);
*(b+i+1)=t;
m=1;
}
} while(m!=0);
m=0;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
for(k=0;k<2;++k)
{ a[j][k]=*(b+m);
++m;
}
for(i=0;i<3;++i)
for(j=0,k=0;j<3;++j)
printf("%f",a[j][k]);
}
Desde ya muchas gracias.
El programa es el siguiente:
#include<stdio.h>
#include<conio.h>
void main (void)
{ int i,j,k,l,m;
float a[3][3][2],b[18],t;
l=0;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
for(k=0;k<2;++k)
{ printf(" \n a[%d][%d][%d]: ",i,j,k);
scanf("%f",(a+l));
b[l]= *(a+l); // aca es donde aparece el error
++l;
}
do
{ m=0;
for(i=0;i<l-1;++i)
if(b<b[i+1])
{ t=*(b+i);
*(b+i)=*(b+i+1);
*(b+i+1)=t;
m=1;
}
} while(m!=0);
m=0;
for(i=0;i<3;++i)
for(j=0;j<3;++j)
for(k=0;k<2;++k)
{ a[j][k]=*(b+m);
++m;
}
for(i=0;i<3;++i)
for(j=0,k=0;j<3;++j)
printf("%f",a[j][k]);
}