Другие языки программирования и технологии

Паскаль. Почему не робит?

Не работает код, хотя компилируется нормально:
program AplusB; // название
Uses CRT; // модуль
var // Раздел описания
a,b,c: integer; // Числа
d,i: text; // Файлы
begin // Начало
assign (d,'input.txt'); // привязка переменной к имени файла
assign (i,'output.txt'); // привязка переменной к имени файла
append (d); // открытие файла
append (i); // открытие файла
writeln (d,random(320),' ',random(320)); // заполнение входного файла числами
read (d,a); // чтение первого числа
readln (d,b); // чтиние второго числа и переход на новую строчку
c:= a+b; // сложение двух чисел
writeln (i,c); // ввод результата в файл
close (d); // сохранения и закрытие файла
close (i); // сохранения и закрытие файла
end. // конец
И не будет работать.
Во-первых, зачем такие сложности?
Получить два случайных числа, записать в файл и тут же прочитать (вернее-пытаться
прочитать; читаете вы вовсе не числа, об этом ниже) .
Не проще ли получить два числа в памяти, их сложить и записать все, что нужно, в файл?
Теперь о чтении. Рассмотрим часть вашего кода; комментарии я заменил на свои.

writeln (d,random(320),' ',random(320)); // записали два случайных числа
read (d,a); // позиция файла - после записанных чисел; что читаем? Пустое место
readln (d,b); // опять-таки читаем пустое место.

Если уж никак иначе без файла, то так:

Rewrite (d); // открытие файла; именно - Rewrite, а не Append.
writeln (d,random(320),' ',random(320)); // заполнение входного файла числами
Close(d);
Reset(d); // Открыли записанный файл на чтение и ВЫСТАВИЛИ ПОЗИЦИЮ НА НАЧАЛО!
read (d,a); // чтение первого числа
readln (d,b); // чтиние второго числа и переход на новую строчку
Close(d);
S.
Sarvar .
4 193
Лучший ответ
попробуй для открытия файла rewrite (d)
Рашид Алмакаев
Рашид Алмакаев
95 932
а на выходе что дает?
a Randomize не нужен ли часом?
попробуй подставить в инпут числа по факту, без рендома, и глянь, пишутся ли они в тхт
если не записались значит что то с открытием файлов и записью в них
счас geany и fpc поставлю, глянем
Игорь Князев
Игорь Князев
20 840
Может так?
a := Random(320);