Hallo,
ich habe folgendes (kleines) Problem.
Die Aufgabe lautet: Lesen sie den Inhalt zweier Dateien aus und multiplizieren sie den ersten Wert der Datei mit dem ersten Wert der anderen Datei + den zweiten Wert der ersten Datei * den zweiten Wert der Zweiten Datei
( x1 * y1 + x2 * y2 + x3 *y3...... bis + x33 * y33)
Die beiden Daten findet ihr unter:
http://www.wiwi.uni-bielefeld.de/~spitta/download/xWerte.dat
http://www.wiwi.uni-bielefeld.de/~spitta/download/yWerte.dat
Das Program zu der Aufgabe, welches ich geschrieben habe so nun wie folgt aus:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Program Aufgabe_6C;
uses wincrt;
type xwerte = file of integer;
type ywerte = file of integer;
var dateix, dateiy: xwerte;
var einwertx, einwerty : integer;
var summe : longint;
Procedure BausteinB1;
BEGIN
Assign (dateix, 'C:\XWerte.dat');
Assign(dateiy, 'C:\YWerte.dat');
Reset(Dateiy);
Reset(Dateix);
summe:= 0;
while not eof (Dateix) do begin
while not eof (Dateiy) do begin
Read(Dateix, Einwertx);
Read(Dateiy, Einwerty);
summe:= summe + einwertx + einwerty;
writeln(summe);
readkey;
END;
END;
END;
Begin
BausteinB1;
end.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wenn ich nun anstelle " summe:= summe + einwertx + einwerty; "
"summe:= summe + einwertx * einwerty; " schreibe, so erhalte ich einen wust von
falschen Zahlen. Ich vermute das Problem liegt an meinen Datentypen.
Habe jedoch schon zahlreiche Varianten mit "integer" und "longint" ausprobiert,
wobei jedes mal andere Zahlen herauskamen, aber nie das Ergebnis.
Das Ergebnis muss lauten: 32.481.750
ICH HOFFE JEMAND KANN MIR BEI MEINEM PROBLEM HELFEN!
Ciao,
Tobi-VWL

ich habe folgendes (kleines) Problem.
Die Aufgabe lautet: Lesen sie den Inhalt zweier Dateien aus und multiplizieren sie den ersten Wert der Datei mit dem ersten Wert der anderen Datei + den zweiten Wert der ersten Datei * den zweiten Wert der Zweiten Datei
( x1 * y1 + x2 * y2 + x3 *y3...... bis + x33 * y33)
Die beiden Daten findet ihr unter:
http://www.wiwi.uni-bielefeld.de/~spitta/download/xWerte.dat
http://www.wiwi.uni-bielefeld.de/~spitta/download/yWerte.dat
Das Program zu der Aufgabe, welches ich geschrieben habe so nun wie folgt aus:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Program Aufgabe_6C;
uses wincrt;
type xwerte = file of integer;
type ywerte = file of integer;
var dateix, dateiy: xwerte;
var einwertx, einwerty : integer;
var summe : longint;
Procedure BausteinB1;
BEGIN
Assign (dateix, 'C:\XWerte.dat');
Assign(dateiy, 'C:\YWerte.dat');
Reset(Dateiy);
Reset(Dateix);
summe:= 0;
while not eof (Dateix) do begin
while not eof (Dateiy) do begin
Read(Dateix, Einwertx);
Read(Dateiy, Einwerty);
summe:= summe + einwertx + einwerty;
writeln(summe);
readkey;
END;
END;
END;
Begin
BausteinB1;
end.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wenn ich nun anstelle " summe:= summe + einwertx + einwerty; "
"summe:= summe + einwertx * einwerty; " schreibe, so erhalte ich einen wust von
falschen Zahlen. Ich vermute das Problem liegt an meinen Datentypen.
Habe jedoch schon zahlreiche Varianten mit "integer" und "longint" ausprobiert,
wobei jedes mal andere Zahlen herauskamen, aber nie das Ergebnis.
Das Ergebnis muss lauten: 32.481.750
ICH HOFFE JEMAND KANN MIR BEI MEINEM PROBLEM HELFEN!
Ciao,
Tobi-VWL
