Alena Табачникова

помогите найти ошибку в создании текстового файла пожлуйста вот код:const n=4; type xolod = record virobn:string[50]; nazvanie:string[45]; kamera:real; rik:integer; misce:string[45]; cina:real; kilkist:real; end; var i:integer; tabl:array[1..n] of xolod; f:text; s:string; procedure lin(m:integer); var i:integer; begin for i:=1 to m do write('-'); writeln; end; begin assign(f,'xolodilnik.txt'); append(f); Writeln('Vvedi danni'); For i:=1 to n do begin Write('virobn:'); readln(tabl[i].virobn); Write('nazvanie:'); readln(tabl[i].nazvanie); Write('kamera:'); readln(tabl[i].kamera); Write('rik:'); readln(tabl[i].rik); Write('misce:'); readln(tabl[i].misce); Write('cina:'); readln(tabl[i].cina); Write('kilkist:'); readln(tabl[i].kilkist); writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist); close(f); end; reset(f); while not eof(f) do begin while not eoln(f) do begin read(f,s); write(s); end; end; close(f); Lin(69); writeln(' | Виробництво | Назва | Обэм Камери | Рік | Місце | Ціна | Кількість|'); Lin(69); For i:=1 to n do begin write(' |', tabl[i].virobn:10,'|');write(tabl[i].nazvanie:10,'|',tabl[i].kamera:13,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|');writeln;Lin(69);end; writeln; writeln('vidsortovano'); Lin(69); For i:=1 to n do begin If (tabl[i].rik = 1993) then beginwrite(' |', tabl[i].virobn:10,'|');write(tabl[i].nazvanie:15,'|',tabl[i].kamera:16,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|'); writeln; Lin(69); end; end; End. ошибка на writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist); Ошибка времени выполнения: Ссылка на объект не указывает на экземпляр объекта. когда ввел все данные о 2 холодильниках оно в файл записало, а когда 3 начинаешь - выбивает ошибка

Alihandro
Alihandro

ПКМ -> Создать -> Текстовый файл

Похожие вопросы
var i, k, N1, N : integer; Begin Writeln('Введите число первого дня'); readln(K); Writeln('Цена за 1 игрушку='); re
почему в паскале выдает ошибку 39( в этой строчке: for i:=1 to n do)?
как решить программу. var k, s: integer; begin s:=1; k:=0; while k<13 do begin s:=s+2*k; k:=k+4; end; write (s+k); end.
Исправьте пожалуйста! Исправьте пожалуйста программу чтобы при вводе нуля программа писала "Введите число больше нуля",и не выходила ошибка, а продолжала работать. Сам пытался, не получилось. Program qrt; var x,y,z,q: real; begin WriteLn('Введите X ', x); Readln(x); WriteLn ('Введите Y ', y); Readln(y); WriteLn ('Введите Z ', z); Readln(z); z:=Abs((3*sqr(x)+sin(y)/sqrt(z))-cos(x)); if z=0 then begin writeln ('Введите число больше 0 = ',q); end; WriteLn('Ответ=', z); End.
как выполнить сортировку, что бы программа выдавала курс студентов по возрастанию (любая сортировка кроме пузырьком) type studs = record name: string[25]; k,o: integer; w:string; end;var arr_studs: array[1..15] of studs; sum: integer; a: real; i,n: byte;begin write('Количество студентов: '); readln(n); sum := 0; for i:=1 to n do with arr_studs[i] do begin write(i,'-й студент: '); readln(name); write('курс: '); readln(k); write(' Оценка: '); readln(o); sum := sum + o; end; a:= sum / n;writeln; writeln('Студенты с оценкой выше средней: '); for i:=1 to n do if arr_studs[i].o > a then writeln(arr_studs[i].name);readln;end.
Прошу помощи с Паскаль! program z2;Var c,d,k,t,P1,P2 : integer;R : real;Procedure PRO (n, a : integer; Var P: real);Var i:integer;BeginP:=1;For i:=1 to 10 doP:=P*(i-a);End;BeginWriteln ('vv 2 cgisla');Readln (c,d);Writeln ('вв 2 ч >= 2');Readln (k,t);PRO(k,c,P1);Pro(t,d,P2);R:=2*(P1/P2);Writeln (R);End.1) Восстановить условие, постановку и алгоитм.2) Переписать программу заменив процедуру функцией
В каждом столбце матрицы D[n,m] нулевые элементы переставить в начало столбца (Паскаль) Программа работает неправильно, подскажите как исправитьProgram matr;const N=10;const M=10;var D:array [1..N,1..M] of real;i,j,k:integer;l:real;beginfor i:=1 to n do begin for j:=1 to m do begin D[i,j]:=random(5); if d[i,j]=0 then for k:=i-1 downto 1 do begin l:=d[k+1,j]; d[k,j]:=d[k+1,j]; d[k,j]:=l; end;end;end; for i:=1 to n do begin for j:=1 to m do begin write(D[i,j]:5:2);end; writeln;end; readln;end.
Помогите написать программу... Необходимо написать программу, которая меняла столбцы и строчки местами в матрице (транспонировала) в динамической памяти, в паскале.begin clrscr; getmem(m,n*n*sizeof(integer)); for i:=1 to n do for j:=1 to n do m^[j*n+i]:=vidnosh^[i*n+j]; writeln('Обратная матрица имеет вид: '); for i:=1 to n do begin for j:=1 to n do write(m^[i*n+j]:3); writeln; end;но не работает.
Помогите составить по ГОСТ 19.701-90 3 блок схемы по 20 руб за каждую Вот условия и программы1) составьте блок схему вычисления суммы n первых натуральных чисел (n=3)Program lb2_3;uses crt;var n,i,s:integer;begin for i:=1 to 3 do Begin write('введите число ',i,'= ');readln(n); s:=s+n; End; writeln('сумма = ',s); readln;end.2) Функция Y=f(x) задана своим графиком. Составить алгоритм и программу, определяющую Y по заданному X.Program Lb4var3primer2;uses crt;var x:real;beginclrscr;write('x=');readln(x);if x0)and(x
Хорошо ли для программиста если за 20 лет практики, он запомнил только это for var i:=1 to 10 do inc(sum,i)