002
20.04.2008, 19:15 Uhr
KFC Embryo
Ein Huhn
|
Mh... ok das half mir jetzt nicht so richtig weiter, sorry, kann sein das ich mich etwas dumm anstelle.
Ich hab jetzt folgenden Queltext:
| Code: |
#include<stdio.h> #include<stdlib.h>
int* ReadNumbers(FILE *fin, int *n); void WriteNumbers(FILE *fout, int *arr, int n); void sort (int arr[], int n);
int* ReadNumbers(FILE *fin, int *n) { int c = 0, alternativen = 0; n = (int*) malloc(sizeof(int)* 25); // Die Anzahl der Zahlen die Sortiert werden sollen ist 25
while(c = fgetc(fin) != EOF){ //Ich zähle trotzdem noch einmal die Zahlen if((c = ' ') || (c = '\n')){ n++; //Ich denke hier ist mein erster fehler ich "counte" den Zeiger }else{ alternativen++; //unnötig aber fängt die alternativen ab } } return n; //Ich gebe eine Zeiger zurück, wie es die Funktion verlangt }
void WriteNumbers(FILE *fout, int *arr, int n) { int i; arr = fopen(fout,"w"); //Ich bilde einen Zeiger auf eine geöffnete Datei for(i=0; i < n; i++){ fprintf(arr[i], "%d", fout); } }
void main (void) { char filename[256]; int n, *p; FILE *infp, *outfp; printf("Bitte die zubearbeitende Datei angeben: "); scanf("%s", filename); if ((infp = fopen(filename,"r")) == NULL ) { printf("Datei mit dem Namen %s konnte nicht geoeffnet werden\n"); exit(1); } if ((outfp = fopen(filename,"w")) == NULL ) { printf("Datei mit dem Namen %s konnte nicht geoeffnet werden\n"); exit(1); } p = ReadNumbers(infp, &n); sort(p,n); WriteNumbers(outfp, p, n); fclose(infp); fclose(outfp); } void sort (int arr[], int n) { int i, j, temp; for (i=n; i>0; i--) for (j=0; j<i-1; j++) if (arr[j]>arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } return; }
|
Es sollen alle Zahlen eingelesen werden. Diese Zahlen sollen dann sortiert werden. Danach sollen sie wieder in die Datei aus der sie stammen geschrieben werden, sortiert.
Die erste der Zahlen ist die Anzahl der Zahlen die Sortiert werden sollen.
Hier die .txt:
| Code: |
25 3 4 2 11 7 8 56 -76 4 3 2 6 7 8 7 5 34 67 1000 559 4 -56 34 2 87
|
Ich bedank mich schon einmal.
Gruß -- An nescis, mi fili, quantilla prudentia mundus regatur? |