Seite 1 von 2

Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 5:27 pm
von Djchaos79
Hallo zusammen,

ich habe in der Schule C-Programmieren. Unsere Aufgabe ist folgende. Aus einer txt-Datei zufällige Zahlen, die untereinander stehen, auslesen und in ein 2-dimensionales Array einlesen bzw schreiben. Leider klappt das nicht und es werden nur 0000000 ausgegeben. Wo liegt der Fehler bzw was mache ich falsch?

Zum besseren Verständnis habe ich mal meinen Code kopiert und hänge diesen mal an.

Code: Alles auswählen

float hoehen[101][101];
	int i,j;

	FILE*pf;
	pf=fopen("fhoehen.txt","r");
	if (pf == NULL)
	{
		printf("Fehler beim oeffnen von Fhoehen.txt\nProgramm wird beendet!\n\n");
		system("PAUSE");
		exit(0);
	}
	for(i=0; i<10; i++)
	{
		for(j=0; j<10; j++)
		{
			fscanf(pf,"%f \n",&hoehen[i][j]);
		}
	}
	fclose(pf);
	
	for (i=0; i<5; i++)
	{
		for(j=0; j<5; j++)
		{
			printf("%f",&hoehen[i][j]);
		}
	}
	system("pause");
	return 0;

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 5:35 pm
von Xin
Vielleicht weil nur Nullen eingelesen werden?
printf schreibt diese vielen Nullen ja einfach hintereinander.

Sollt ihr fscanf nutzen? Das Einlesen mit fscanf() ist immer auch ein bisschen Hoffen und Beten... (darum benutzt man es nicht in ernstzunehmenden Programmen ^^)
Als erstes würde ich mir mal hinter der fscanf-Zeile ansehen, was eingelesen wird.
Das könntest Du mit printf() machen, dann aber hier bitte ohne & (Adresse-Von-Operator)

Code: Alles auswählen

printf( "Position %d/%d: %f eingelesen\n", i, j, /* kein & */ hoehen[i][j] );
Wie sieht's da aus?

Wenn's da nicht gut aussieht würde ich schonmal das Leerzeichen nach %f bei Scanf in Frage stellen... wie sieht die einzulesende Datei überhaupt aus?


(PS: Wenn Du antwortest... warte 'ne Minute, ich reboote jetzt den Server ^^ - läuft wieder)

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 5:52 pm
von mfro
Djchaos79 hat geschrieben:...Wo liegt der Fehler bzw was mache ich falsch?

Code: Alles auswählen

...
	for (i=0; i<5; i++)
	{
		for(j=0; j<5; j++)
		{
			printf("%f",&hoehen[i][j]);
		}
	}...
Soweit ich das auf den ersten Blick sehe, ist dein Code zum Einlesen korrekt.

Lediglich der zum wieder Ausgeben ist verkehrt: schau' dir mal dein printf() statement (und deinen Aufschrieb - oder vielleicht die Manual page - zu printf()) genau an...

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 5:53 pm
von Djchaos79
Also, das einfügen dieser Zeile hat schonmal eine Erkenntnis mehr gebracht.
Der inhalt der txt-Datei sieht so aus

Code: Alles auswählen

81.000000
99.000000
123.000000
105.000000
78.000000
114.000000
62.000000
68.000000
79.000000
87.000000
58.000000
76.000000
79.000000
78.000000
61.000000
123.000000
113.000000
65.000000
123.000000
129.000000
114.000000
89.000000
117.000000
58.000000
91.000000
54.000000
109.000000
100.000000
124.000000
97.000000
73.000000
59.000000
70.000000
128.000000
102.000000
104.000000
87.000000
74.000000
126.000000
58.000000
91.000000
107.000000
93.000000
115.000000
65.000000
74.000000
113.000000
102.000000
76.000000
74.000000
128.000000
95.000000
107.000000
78.000000
111.000000
52.000000
124.000000
64.000000
64.000000
122.000000
124.000000
83.000000
107.000000
92.000000
129.000000
103.000000
80.000000
103.000000
108.000000
62.000000
59.000000
105.000000
105.000000
93.000000
74.000000
108.000000
73.000000
84.000000
123.000000
77.000000
98.000000
97.000000
73.000000
114.000000
85.000000
82.000000
121.000000
60.000000
113.000000
123.000000
128.000000
72.000000
54.000000
71.000000
87.000000
124.000000
92.000000
97.000000
82.000000
65.000000
117.000000
69.000000
77.000000
91.000000
112.000000
51.000000
87.000000
113.000000
63.000000
52.000000
68.000000
57.000000
92.000000
112.000000
110.000000
67.000000
119.000000
79.000000
60.000000
90.000000
115.000000
110.000000
70.000000
118.000000
98.000000
117.000000
119.000000
85.000000
126.000000
118.000000
99.000000
91.000000
58.000000
73.000000
91.000000
55.000000
72.000000
70.000000
79.000000
73.000000
60.000000
98.000000
116.000000
113.000000
128.000000
94.000000
54.000000
73.000000
121.000000
75.000000
127.000000
70.000000
106.000000
99.000000
121.000000
107.000000
89.000000
52.000000
112.000000
78.000000
127.000000
78.000000
92.000000
63.000000
67.000000
128.000000
62.000000
86.000000
57.000000
110.000000
88.000000
76.000000
118.000000
101.000000
98.000000
77.000000
71.000000
114.000000
58.000000
109.000000
51.000000
112.000000
91.000000
73.000000
63.000000
96.000000
66.000000
79.000000
65.000000
62.000000
61.000000
80.000000
119.000000
129.000000
52.000000
116.000000
104.000000
115.000000
125.000000
79.000000
59.000000
66.000000
123.000000
83.000000
70.000000
87.000000
86.000000
102.000000
106.000000
69.000000
113.000000
118.000000
94.000000
116.000000
88.000000
122.000000
88.000000
94.000000
88.000000
122.000000
99.000000
105.000000
116.000000
50.000000
78.000000
119.000000
116.000000
82.000000
81.000000
122.000000
113.000000
74.000000
118.000000
60.000000
127.000000
69.000000
117.000000
94.000000
89.000000
51.000000
111.000000
111.000000
68.000000
92.000000
128.000000
63.000000
77.000000
65.000000
79.000000
117.000000
68.000000
85.000000
88.000000
94.000000
77.000000
108.000000
60.000000
71.000000
84.000000
82.000000
70.000000
109.000000
65.000000
127.000000
98.000000
98.000000
76.000000
90.000000
89.000000
67.000000
51.000000
124.000000
64.000000
104.000000
58.000000
71.000000
82.000000
75.000000
50.000000
71.000000
123.000000
92.000000
93.000000
55.000000
54.000000
85.000000
65.000000
70.000000
89.000000
106.000000
123.000000
75.000000
112.000000
51.000000
102.000000
103.000000
87.000000
61.000000
108.000000
75.000000
124.000000
109.000000
107.000000
90.000000
116.000000
71.000000
108.000000
64.000000
124.000000
62.000000
129.000000
115.000000
67.000000
125.000000
60.000000
88.000000
87.000000
117.000000
120.000000
73.000000
61.000000
88.000000
66.000000
118.000000
85.000000
102.000000
87.000000
121.000000
125.000000
69.000000
53.000000
127.000000
101.000000
54.000000
58.000000
116.000000
98.000000
69.000000
98.000000
126.000000
71.000000
50.000000
79.000000
109.000000
97.000000
126.000000
105.000000
129.000000
66.000000
56.000000
105.000000
76.000000
80.000000
89.000000
112.000000
57.000000
95.000000
60.000000
61.000000
126.000000
108.000000
82.000000
95.000000
110.000000
75.000000
84.000000
88.000000
114.000000
52.000000
123.000000
115.000000
57.000000
121.000000
93.000000
71.000000
93.000000
92.000000
120.000000
59.000000
88.000000
78.000000
84.000000
108.000000
71.000000
123.000000
100.000000
62.000000
110.000000
100.000000
62.000000
112.000000
77.000000
93.000000
59.000000
51.000000
113.000000
88.000000
112.000000
108.000000
77.000000
65.000000
126.000000
55.000000
74.000000
60.000000
88.000000
62.000000
108.000000
76.000000
67.000000
91.000000
56.000000
101.000000
66.000000
107.000000
67.000000
52.000000
67.000000
83.000000
93.000000
110.000000
83.000000
55.000000
126.000000
70.000000
121.000000
89.000000
79.000000
115.000000
114.000000
126.000000
124.000000
113.000000
57.000000
103.000000
120.000000
87.000000
74.000000
127.000000
81.000000
105.000000
103.000000
128.000000
86.000000
62.000000
74.000000
124.000000
119.000000
117.000000
60.000000
104.000000
76.000000
115.000000
101.000000
107.000000
121.000000
80.000000
101.000000
104.000000
96.000000
116.000000
82.000000
103.000000
71.000000
92.000000
51.000000
75.000000
59.000000
81.000000
77.000000
64.000000
53.000000
107.000000
60.000000
115.000000
108.000000
81.000000
68.000000
103.000000
59.000000
84.000000
56.000000
69.000000
101.000000
61.000000
106.000000
51.000000
119.000000
116.000000
69.000000
56.000000
124.000000
115.000000
104.000000
127.000000
54.000000
74.000000
83.000000
122.000000
76.000000
84.000000
103.000000
121.000000
79.000000
90.000000
73.000000
124.000000
113.000000
102.000000
87.000000
69.000000
104.000000
75.000000
95.000000
65.000000
79.000000
51.000000
92.000000
72.000000
111.000000
105.000000
113.000000
51.000000
92.000000
104.000000
123.000000
93.000000
98.000000
99.000000
50.000000
109.000000
114.000000
87.000000
97.000000
100.000000
87.000000
94.000000
55.000000
50.000000
62.000000
85.000000
61.000000
93.000000
117.000000
112.000000
104.000000
117.000000
83.000000
61.000000
129.000000
65.000000
57.000000
70.000000
51.000000
78.000000
71.000000
75.000000
116.000000
122.000000
82.000000
111.000000
120.000000
76.000000
53.000000
98.000000
99.000000
54.000000
85.000000
111.000000
110.000000
77.000000
122.000000
118.000000
108.000000
104.000000
58.000000
109.000000
109.000000
120.000000
88.000000
51.000000
98.000000
119.000000
61.000000
69.000000
81.000000
52.000000
118.000000
100.000000
76.000000
77.000000
95.000000
102.000000
61.000000
94.000000
109.000000
108.000000
101.000000
74.000000
50.000000
53.000000
86.000000
118.000000
109.000000
65.000000
125.000000
94.000000
112.000000
89.000000
52.000000
51.000000
86.000000
124.000000
102.000000
98.000000
116.000000
93.000000
68.000000
59.000000
127.000000
75.000000
120.000000
111.000000
63.000000
81.000000
57.000000
123.000000
51.000000
79.000000
126.000000
101.000000
85.000000
88.000000
54.000000
85.000000
79.000000
127.000000
88.000000
102.000000
94.000000
59.000000
118.000000
109.000000
70.000000
98.000000
55.000000
57.000000
70.000000
69.000000
84.000000
91.000000
93.000000
57.000000
67.000000
72.000000
60.000000
70.000000
51.000000
92.000000
110.000000
67.000000
56.000000
114.000000
119.000000
113.000000
104.000000
81.000000
73.000000
118.000000
68.000000
105.000000
108.000000
109.000000
107.000000
79.000000
110.000000
61.000000
107.000000
101.000000
73.000000
103.000000
121.000000
93.000000
85.000000
100.000000
100.000000
127.000000
110.000000
94.000000
117.000000
57.000000
103.000000
126.000000
73.000000
103.000000
94.000000
70.000000
98.000000
83.000000
50.000000
95.000000
90.000000
62.000000
51.000000
118.000000
58.000000
64.000000
88.000000
51.000000
123.000000
61.000000
55.000000
90.000000
75.000000
57.000000
129.000000
85.000000
66.000000
93.000000
59.000000
50.000000
85.000000
89.000000
101.000000
105.000000
74.000000
124.000000
84.000000
65.000000
93.000000
83.000000
66.000000
67.000000
67.000000
126.000000
121.000000
126.000000
125.000000
121.000000
76.000000
77.000000
127.000000
74.000000
87.000000
70.000000
97.000000
54.000000
88.000000
117.000000
86.000000
105.000000
109.000000
120.000000
124.000000
69.000000
96.000000
60.000000
67.000000
106.000000
97.000000
56.000000
97.000000
104.000000
82.000000
120.000000
117.000000
97.000000
121.000000
125.000000
58.000000
82.000000
113.000000
83.000000
111.000000
67.000000
82.000000
83.000000
101.000000
61.000000
50.000000
122.000000
104.000000
59.000000
92.000000
58.000000
113.000000
116.000000
80.000000
95.000000
91.000000
121.000000
91.000000
117.000000
86.000000
90.000000
105.000000
88.000000
57.000000
94.000000
104.000000
123.000000
58.000000
98.000000
79.000000
93.000000
98.000000
81.000000
94.000000
90.000000
125.000000
53.000000
72.000000
78.000000
128.000000
61.000000
94.000000
111.000000
62.000000
63.000000
110.000000
59.000000
108.000000
80.000000
60.000000
63.000000
67.000000
114.000000
127.000000
89.000000
86.000000
125.000000
96.000000
65.000000
69.000000
50.000000
78.000000
52.000000
66.000000
107.000000
69.000000
97.000000
98.000000
55.000000
129.000000
72.000000
117.000000
117.000000
93.000000
94.000000
89.000000
62.000000
113.000000
118.000000
60.000000
72.000000
59.000000
77.000000
65.000000
72.000000
61.000000
53.000000
70.000000
119.000000
120.000000
117.000000
51.000000
121.000000
119.000000
126.000000
117.000000
74.000000
111.000000
97.000000
91.000000
74.000000
53.000000
95.000000
81.000000
107.000000
81.000000
65.000000
75.000000
56.000000
129.000000
74.000000
116.000000
72.000000
129.000000
57.000000
72.000000
67.000000
58.000000
51.000000
63.000000
52.000000
104.000000
96.000000
60.000000
128.000000
113.000000
53.000000
116.000000
118.000000
51.000000
114.000000
114.000000
87.000000
124.000000
93.000000
58.000000
88.000000
112.000000
95.000000
92.000000
86.000000
71.000000
125.000000
60.000000
89.000000
117.000000
106.000000
112.000000
76.000000
94.000000
123.000000
106.000000
59.000000
121.000000
59.000000
55.000000
110.000000
116.000000
63.000000
118.000000
86.000000
121.000000
93.000000
77.000000
54.000000
111.000000
121.000000
105.000000
52.000000
84.000000
96.000000
100.000000
63.000000
90.000000
89.000000
76.000000
50.000000
79.000000
120.000000
97.000000
58.000000
113.000000
85.000000
127.000000
85.000000
82.000000
92.000000
93.000000
92.000000
121.000000
118.000000
101.000000
83.000000
57.000000
88.000000
53.000000
62.000000
101.000000
75.000000
53.000000
54.000000
84.000000
108.000000
59.000000
75.000000
98.000000
68.000000
91.000000
60.000000
72.000000
75.000000
51.000000
118.000000
124.000000
56.000000
118.000000
106.000000
123.000000
93.000000
54.000000
66.000000
71.000000
113.000000
119.000000
116.000000
76.000000
61.000000
82.000000
71.000000
87.000000
75.000000
72.000000
118.000000
89.000000
59.000000
120.000000
84.000000
104.000000
120.000000
83.000000
63.000000
86.000000
91.000000
77.000000
71.000000
54.000000
110.000000
54.000000
129.000000
125.000000
84.000000
58.000000
71.000000
70.000000
87.000000
70.000000
66.000000
121.000000
66.000000
76.000000
59.000000
60.000000
97.000000
73.000000
78.000000
121.000000
53.000000
116.000000
64.000000
98.000000
60.000000
122.000000
82.000000
51.000000
64.000000
72.000000
54.000000
120.000000
63.000000
120.000000
82.000000
79.000000
123.000000
113.000000
115.000000
78.000000
82.000000
88.000000
68.000000
104.000000
129.000000
75.000000
63.000000
60.000000
117.000000
63.000000
51.000000
79.000000
98.000000
119.000000
71.000000
91.000000
120.000000
121.000000
110.000000
55.000000
82.000000
108.000000
123.000000
105.000000
65.000000
85.000000
102.000000
89.000000
120.000000
66.000000
112.000000
56.000000
73.000000
102.000000
83.000000
81.000000
81.000000
54.000000
110.000000
95.000000
127.000000
115.000000
112.000000
64.000000
122.000000
89.000000
114.000000
120.000000
100.000000
55.000000
106.000000
105.000000
105.000000
81.000000
125.000000
97.000000
93.000000
51.000000
53.000000
84.000000
85.000000
102.000000
83.000000
91.000000
100.000000
87.000000
103.000000
125.000000
105.000000
102.000000
110.000000
110.000000
119.000000
61.000000
107.000000
102.000000
70.000000
82.000000
105.000000
83.000000
104.000000
110.000000
95.000000
113.000000
110.000000
127.000000
117.000000
120.000000
107.000000
106.000000
118.000000
71.000000
57.000000
69.000000
103.000000
128.000000
123.000000
101.000000
87.000000
116.000000
67.000000
115.000000
103.000000
96.000000
53.000000
100.000000
108.000000
88.000000
92.000000
89.000000
99.000000
51.000000
124.000000
116.000000
84.000000
119.000000
119.000000
109.000000
106.000000
87.000000
115.000000
84.000000
82.000000
58.000000
92.000000
87.000000
50.000000
126.000000
86.000000
54.000000
124.000000
108.000000
86.000000
85.000000
98.000000
126.000000
66.000000
66.000000
60.000000
110.000000
69.000000
104.000000
88.000000
129.000000
88.000000
99.000000
50.000000
84.000000
126.000000
84.000000
85.000000
85.000000
110.000000
55.000000
96.000000
117.000000
102.000000
116.000000
92.000000
109.000000
61.000000
51.000000
93.000000
111.000000
90.000000
68.000000
103.000000
126.000000
84.000000
109.000000
51.000000
113.000000
90.000000
69.000000
98.000000
51.000000
100.000000
129.000000
65.000000
63.000000
105.000000
108.000000
93.000000
106.000000
82.000000
124.000000
121.000000
129.000000
95.000000
51.000000
62.000000
53.000000
105.000000
84.000000
51.000000
84.000000
87.000000
71.000000
61.000000
106.000000
101.000000
110.000000
56.000000
120.000000
81.000000
89.000000
102.000000
100.000000
72.000000
102.000000
104.000000
112.000000
114.000000
109.000000
107.000000
111.000000
57.000000
91.000000
68.000000
53.000000
79.000000
78.000000
96.000000
127.000000
64.000000
97.000000
53.000000
52.000000
53.000000
55.000000
77.000000
58.000000
59.000000
125.000000
100.000000
91.000000
52.000000
107.000000
79.000000
105.000000
92.000000
108.000000
79.000000
64.000000
127.000000
111.000000
55.000000
75.000000
121.000000
60.000000
58.000000
58.000000
62.000000
75.000000
121.000000
50.000000
107.000000
113.000000
108.000000
69.000000
60.000000
60.000000
110.000000
84.000000
112.000000
66.000000
78.000000
67.000000
122.000000
69.000000
51.000000
92.000000
73.000000
57.000000
111.000000
118.000000
106.000000
73.000000
104.000000
86.000000
60.000000
71.000000
67.000000
87.000000
68.000000
99.000000
114.000000
119.000000
115.000000
62.000000
127.000000
98.000000
101.000000
94.000000
89.000000
114.000000
106.000000
84.000000
111.000000
119.000000
122.000000
109.000000
90.000000
52.000000
69.000000
71.000000
80.000000
122.000000
122.000000
52.000000
118.000000
89.000000
105.000000
83.000000
102.000000
100.000000
105.000000
93.000000
50.000000
68.000000
110.000000
110.000000
103.000000
96.000000
86.000000
69.000000
69.000000
76.000000
67.000000
125.000000
62.000000
63.000000
126.000000
92.000000
61.000000
73.000000
106.000000
124.000000
122.000000
101.000000
86.000000
105.000000
75.000000
123.000000
71.000000
74.000000
92.000000
121.000000
102.000000
83.000000
114.000000
99.000000
53.000000
58.000000
124.000000
121.000000
120.000000
104.000000
59.000000
104.000000
114.000000
83.000000
84.000000
51.000000
109.000000
106.000000
52.000000
100.000000
126.000000
129.000000
115.000000
61.000000
72.000000
61.000000
92.000000
68.000000
128.000000
82.000000
92.000000
127.000000
129.000000
59.000000
57.000000
76.000000
81.000000
57.000000
85.000000
52.000000
116.000000
81.000000
83.000000
64.000000
79.000000
79.000000
105.000000
76.000000
127.000000
63.000000
118.000000
76.000000
123.000000
77.000000
86.000000
93.000000
119.000000
107.000000
68.000000
93.000000
123.000000
116.000000
95.000000
125.000000
68.000000
126.000000
112.000000
69.000000
89.000000
69.000000
91.000000
105.000000
112.000000
118.000000
68.000000
123.000000
82.000000
89.000000
84.000000
129.000000
108.000000
51.000000
124.000000
105.000000
72.000000
58.000000
89.000000
74.000000
59.000000
74.000000
120.000000
61.000000
96.000000
87.000000
76.000000
75.000000
117.000000
68.000000
63.000000
120.000000
68.000000
52.000000
69.000000
97.000000
86.000000
80.000000
103.000000
114.000000
67.000000
88.000000
110.000000
91.000000
92.000000
93.000000
61.000000
116.000000
108.000000
94.000000
116.000000
94.000000
124.000000
97.000000
83.000000
124.000000
71.000000
117.000000
108.000000
114.000000
94.000000
117.000000
77.000000
108.000000
124.000000
80.000000
60.000000
51.000000
76.000000
55.000000
67.000000
92.000000
58.000000
102.000000
110.000000
129.000000
71.000000
102.000000
114.000000
115.000000
81.000000
66.000000
97.000000
96.000000
114.000000
57.000000
123.000000
66.000000
56.000000
100.000000
103.000000
57.000000
53.000000
121.000000
66.000000
90.000000
120.000000
63.000000
71.000000
119.000000
92.000000
66.000000
65.000000
129.000000
95.000000
105.000000
61.000000
59.000000
85.000000
118.000000
114.000000
81.000000
110.000000
94.000000
117.000000
72.000000
101.000000
106.000000
72.000000
72.000000
91.000000
93.000000
100.000000
72.000000
116.000000
119.000000
87.000000
121.000000
128.000000
122.000000
79.000000
70.000000
60.000000
107.000000
104.000000
121.000000
90.000000
122.000000
98.000000
97.000000
110.000000
85.000000
102.000000
51.000000
75.000000
122.000000
74.000000
95.000000
126.000000
92.000000
84.000000
69.000000
88.000000
72.000000
92.000000
56.000000
50.000000
121.000000
52.000000
129.000000
124.000000
120.000000
92.000000
118.000000
70.000000
120.000000
81.000000
77.000000
99.000000
113.000000
54.000000
92.000000
123.000000
75.000000
86.000000
51.000000
96.000000
61.000000
72.000000
92.000000
67.000000
55.000000
52.000000
81.000000
119.000000
61.000000
86.000000
79.000000
71.000000
69.000000
81.000000
106.000000
52.000000
51.000000
101.000000
114.000000
65.000000
Meine Ausgabe sieht nun so aus wie auf dem Bild zu sehen

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 6:06 pm
von Xin
Poste nochmal den Quelltext rein.

Die Reihenfolge der ausgegebenen Zahlen erkenne ich in der Eingabedatei nicht. Prüf das bitte mal, ob der die Zahlen in der richtigen Reihenfolge ausgibt oder ob da was fehlt.

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 6:14 pm
von Djchaos79
Die reihenfolge ist richtig. Hatte noch eine while schleife drin gehabt.

Ich habe nun das problem das in der ersten zeile der txt-Datei folgendes steht --> Anzahl Daten: 10201
wie kann ich also erst ab der 2. Zeile mit dem fscanf einlesen?

trotzdem hier nochmal der Quelltext

Code: Alles auswählen

float hoehen[101][101];
	int i,j;

	FILE*pf;
	pf=fopen("fhoehen.txt","r");
	if (pf == NULL)
	{
		printf("Fehler beim oeffnen von Fhoehen.txt\nProgramm wird beendet!\n\n");
		system("PAUSE");
		exit(0);
	}
	
	for(i=0; i<10; i++)
		{
			for(j=0; j<10; j++)
			{
				fscanf(pf,"   \n %f\n",&hoehen[i][j]);
				printf( "Position %d/%d: %f eingelesen\n", i, j,  hoehen[i][j] );
			}
		}
	
	fclose(pf);
	
	for (i=0; i<5; i++)
	{
		for(j=0; j<5; j++)
		{
			printf("%f",hoehen[i][j]);
		}
	}
	system("pause");
	return 0;

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 6:22 pm
von Xin
Schau Dir fgets mal an.

Ist die Ausgabe nun lesbar oder sind das immernoch Nullen?

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 6:27 pm
von Djchaos79
Wenn ich in der txt-Datei die erste Zeile weglasse dann wird alles korrekt eingelesen.
Aber mit der ersten Zeile liest er dann eine riesige negative Zahl ein (-107374176.00000)

Wie kann ich also fscanf sagen das es erst ab der 2. Zeile einlesen soll?

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 7:10 pm
von Xin
Gar nicht.

Du liest die erste Zeile ein, zum Beispiel mit fgets(). Oder Du liest solange mit fgetc() bis Du ein NewLine-Zeichen findest, denn nach dem NewLine-Zeichen beginnt nunmal die zweite Zeile. :-)

Re: Hilfe bei einer C-Aufgabe

Verfasst: Di Apr 08, 2014 7:14 pm
von Djchaos79
ok. glaube habe es verstanden.

versuche da mal etwas