|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
#include <stdio.h>
#include <stdlib.h>
#define MAX_ANZAHL 10
void sort(int fl[]);
void sort(int fl[])
{
int hilf=0;
int x;
int i;
for(x=0; x<MAX_ANZAHL; x++)
{
for(i=0; i<MAX_ANZAHL-1; i++)
{
if(fl[i+1] < fl[i])
{
hilf=fl[i];
fl[i]=fl[i+1];
fl[i+1]=hilf;
}
}
}
}
int main()
{
FILE*seiten = NULL;
FILE*flaeche = NULL;
int a[MAX_ANZAHL];
int b[MAX_ANZAHL];
int fl[MAX_ANZAHL];
int i;
int hilf;
seiten = fopen("seiten.csv","w");
if(seiten == NULL)
{
printf("unable to write");
exit(-1);
}
for(i=0; i<MAX_ANZAHL; i++)
{
a[i]=rand()%10;
b[i]=rand()%10;
fprintf(seiten,"%d ; %d\n",a[i],b[i]);
}
fclose(seiten);
seiten = fopen("seiten.csv","r");
if(seiten == NULL)
{
printf("unable to read");
exit(-1);
}
flaeche = fopen("flaeche.csv","w");
if(seiten == NULL)
{
printf("unable to write");
exit(-1);
}
for(i=0; i<MAX_ANZAHL; i++)
{
fl[i]=a[i]*b[i];
fprintf(flaeche,"flaeche: ; %d\n",fl[i]);
printf(flaeche,"flaeche: ; %d\n",fl[i]);
}
sort(fl);
fclose(seiten);
fclose(flaeche);
return(0);
}
|


Quoted
Wo liest du die Daten aus der "seiten.csv"?
.|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
FILE *Seiten=NULL;
FILE *Flaeche=NULL;
int i=0;
int x=0;
int a=0;
int b=0;
int ergebnis;
Seiten = fopen("Seiten.csv","w");
if(Seiten == NULL)
{
printf("unable to write\n");
exit(-1);
}
for(i=0; i <= 10; i++)
{
a=rand();
b=rand();
fprintf(Seiten,"%d;%d\n", a, b);
}
fclose(Seiten);
Seiten = fopen("Seiten.csv","r");
if(Seiten == NULL)
{
printf("unable to read\n");
exit(-1);
}
Flaeche = fopen("Flaeche.csv","w");
if(Flaeche == NULL)
{
printf("unable to write\n");
exit(-1);
}
while(!feof(Seiten))
{
fscanf(Seiten,"%d;%d\n", &a, &b);
printf("%d -> %d\n", a, b);
ergebnis = a * b;
fprintf(Flaeche,"ergebnis = %d\n\n", ergebnis);
}
fclose(Seiten);
fclose(Flaeche);
return (0);
}
|
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 |
while(!feof(Seiten)) // Text in folgender geschweifter Klammer wird solange wiederholt bis feof = "file end of file" { fscanf(Seiten,"%d;%d\n", &a, &b); // liest zeilenweise aus Seiten printf("%d -> %d\n", a, b); ergebnis = a * b; fprintf(Flaeche,"ergebnis = %d\n\n", ergebnis); // schreibt in Fläche } |


|
|
Source code |
1 2 |
Wie gross sind deine Flächen, wenn du dein Programm mehrfach startest? Kommen da immer die selben "Zufallszahlen"? |
Quoted
Beim Quelltext hast du noch nicht den C&C++ Button gefunden![]()
.
Quoted
Wie du an dem Kommentar im Quelltext siehst, wer beim Englisch lernen auf der Bremse steht, hat es beim programmieren schwerer
Versuch mal deine Bremse zu lösen, wenn du programmieren möchtest![]()
. |
|
C/C++ Quellcode |
1 2 3 4 5 6 |
for(i=0; i<MAX_ANZAHL; i++) { fl[i]=a[i]*b[i]; fprintf(flaeche,"flaeche: ; %d\n",fl[i]); //printf("flaeche: ; %d\n",fl[i]); } |
This post has been edited 1 times, last edit by "Mr Gibbs" (May 7th 2011, 5:19pm)


|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#include <stdio.h> #include <stdlib.h> #include <math.h> // wird hier wahrscheinlich nicht genutzt, teste mal int main() { FILE *Seiten=NULL; FILE *Flaeche=NULL; int i=0; int x=0; int a=0; int b=0; int ergebnis; Seiten = fopen("Seiten.csv","w"); // warum "w" = write weisst du? if(Seiten == NULL) { printf("unable to write\n"); // das siehst du, wenn nix Datei offen exit(-1); } for(i=0; i <= 10; i++) { a=rand(); // einmal im Quelltext srand(), das wäre es b=rand(); fprintf(Seiten,"%d;%d\n", a, b); } fclose(Seiten); // gute Idee, könntest das Dateifüllen auch in eine Funktion auslagern Seiten = fopen("Seiten.csv","r"); // Seite wird vorbereitet zum lesen if(Seiten == NULL) { printf("unable to read\n"); // das siehtst du, wenn das misslungen ist exit(-1); } Flaeche = fopen("Flaeche.csv","w"); // Fläche wird vorbereitet if(Flaeche == NULL) { printf("unable to write\n"); // sollte inzwischen klar sein exit(-1); } while(!feof(Seiten)) // wie willst du das mit for und der Abbruchbedingung lösen? { fscanf(Seiten,"%d;%d\n", &a, &b); // hier wird Zeile für Zeile aus Datei gelesen printf("%d -> %d\n", a, b); ergebnis = a * b; fprintf(Flaeche,"ergebnis = %d\n\n", ergebnis); // hier wird geschrieben - mit Leerzeile? } fclose(Seiten); fclose(Flaeche); return (0); } |

) das jetzt kommt
.
.
. *Gedankenblitz* Ich hole mir den 1. Zettel wieder und LESE ihn durch: fopen(....."r"). Jetzt nehme ich einen neune Zetteln den 2. während der 1. Zettel nicht geclost ist kann ich die werten für a und b ABLESEN und SCHREIBE dann das Ergebnis auf den 2. Zettel.
.|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
#include <stdio.h> #include <stdlib.h> #define MAX_ANZAHL 10 void sort(int fl[]); void sort(int fl[]) { int hilf=0; int x; int i; for(x=0; x<MAX_ANZAHL; x++) { for(i=0; i<MAX_ANZAHL-1; i++) { if(fl[i+1] < fl[i]) { hilf=fl[i]; fl[i]=fl[i+1]; fl[i+1]=hilf; } } } } int main() { FILE*seiten = NULL; FILE*flaeche = NULL; int a[MAX_ANZAHL]; int b[MAX_ANZAHL]; int fl[MAX_ANZAHL]; int i; int hilf; seiten = fopen("seiten.csv","w"); if(seiten == NULL) { printf("unable to write"); exit(-1); } for(i=0; i<MAX_ANZAHL; i++) { a[i]=rand()%10; b[i]=rand()%10; fprintf(seiten,"%d ; %d\n",a[i],b[i]); } fclose(seiten); seiten = fopen("seiten.csv","r"); if(seiten == NULL) { printf("unable to read"); exit(-1); } flaeche = fopen("flaeche.csv","w"); if(seiten == NULL) { printf("unable to write"); exit(-1); } for(i=0; i<MAX_ANZAHL; i++) { fl[i]=a[i]*b[i]; fprintf(flaeche,"flaeche: ; %d\n",fl[i]); printf("flaeche: ; %d\n",fl[i]); } sort(fl); for(i=0; i<MAX_ANZAHL; i++) { fprintf(flaeche,"flaeche: ; %d\n",fl[i]); printf("%d\n",fl[i]); } fclose(seiten); fclose(flaeche); return(0); } |
|
|
C/C++ Quellcode |
1 2 3 4 5 6 |
seiten = fopen("seiten.csv","a"); // hier a statt w if(seiten == NULL) { printf("unable to write"); exit(-1); } |

.