Foros del Web » Programación para mayores de 30 ;) » C/C++ »

alguien puede ayudar a solucionar mi error

Estas en el tema de alguien puede ayudar a solucionar mi error en el foro de C/C++ en Foros del Web. De tarea me dejaron crear un programa en Lenguaje C que ordenara 10 numeros de Menor a mayor introducidos por un archivo txt. PERO NO ...
  #1 (permalink)  
Antiguo 27/03/2012, 21:29
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
alguien puede ayudar a solucionar mi error

De tarea me dejaron crear un programa en Lenguaje C que ordenara 10 numeros de Menor a mayor introducidos por un archivo txt. PERO NO ME SALE SI ALGUIEN ME PUEDE AYUDAR SE LO AGRADECERIA .... AQUI LOS PROGRAMAS

Como tengo q usar Makefile se divide en 3

programa18.c

#include <stdio.h>
#include "ordena18.h"

int main(int argc, char *argv[])
{
float numeros[10];
int i;
FILE* in=fopen("entrada18.txt", "rt");

for(i=0; i<10; i++){
fscanf(in, "%f", & f[i]);

fclose(in);
fordena( &f[0]);
for(i=0; 1<10; i++){
printf("%f", f[i]);
}
FILE* out=fopen("salida18.txt", "wt");
float tmp = numeros[0];
int i;
for(i=0; i<10; i++){
fscanf(in, "%f", &numeros[i]);
}
for(i=0; i<10; i++){
if(tmp < numeros[i])
tmp = numeros[i];
}
fprintf(out, "%f\n", tmp);

fclose(out);
return 0;
}
}

++++++++++++++++++++++++++++++++++++++…
aqui empieza otro
++++++++++++++++++++++++++++++++++++++…

ordena18.c

#include <stdio.h>
void fordena(float * f){
int i, j, tmp;
for ( i= 0; i<9; i++){
for(j=i+1; j<10; j++){
if( f[i] < f[j]){
tmp = f[i];
f[i]= f[j];
f[j]= tmp;
}
}
}
}

++++++++++++++++++++++++++++++++++++++…
aqui termina otro
++++++++++++++++++++++++++++++++++++++…

ordena18.h

void fordena(float *);

++++++++++++++++++++++++++++++++++++++…
aqui termina otro
++++++++++++++++++++++++++++++++++++++…

Makefile18

programa18EXE: programa18.o ordena18.0
gcc -o $@ programa18.o ordena18.o -I./

programa18.o: programa18.c ordena18.h
gcc -c programa18.c -I./

ordena18.o: ordena18.c
gcc -c ordena18.c -I./

clean:
rm programa18EXE ordena18.o programa18.o







POR FAVOR AYUDENME A ENCONTRAR MI ERROR
  #2 (permalink)  
Antiguo 27/03/2012, 23:02
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: alguien puede ayudar a solucionar mi error

Hola gotic_zero! tenes varios errores, algunos creo q son de tipeo pero te los marco igual:
1º Declaras un arreglo llamado "numeros" pero despues en el primer fscanf usas un arreglo llamado "f", lo cual seria un error. Declaras el arreglo f o usas numeros
2º En la funcion fordena declaras una variable "tmp" de tipo int, otro error, deberia ser tipo float, sino truncaria el numero del arreglo. Otra cosa el codigo q usas para ordenar el arreglo nose si esta bien, cualquier cosa busca el "metodo de burbuja" es uno de los mas faciles para ordenar arreglos
3º Declaras 2 veces la variable "i" (al principio en el main y despues del segundo fopen)
4º Despues del segundo fopen: ¿para que volves a hacer un fscanf si ya lo hiciste y lo ordenast en el arreglo "f"?


Subi el enunciado completo del ejercicio, asi t puedo ayudar mejor

Saludos

Etiquetas: int, programa, solucionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:39.