var //блок объявления переменных
f1:text;
s,s1:string;
str_array:array of string;
names,subjects:array[1..4] of string;
aa:array[1..4,1..4] of integer;
i,j,n,sum:integer;
begin //начало программы
assign(f1, 'CSV.csv'); //связывание переменной f1 с файлом CSV.csv
reset(f1); // открытие файла для чтения
i:=1;
while not(eof(f1)) do
begin
readln(f1,s); //чтение строк
str_array:=s.Split(';'); {разделение строки на массив строк через разделитель}
j:=0; {счётчик столбцов устанавливаем на 0}
foreach f1 in str_array do {просматриваем все элементы массива, на каждом
шаге подставляем элемент массива в контейнер s1}
begin
write(s1,' '); {вывод на экран всех значений}
if (i=1)and(j>=1) then subjects[j]:=s1; {сохраняем названия предметов}
if (i>1)and(j=0) then names[i-1]:=s1; {сохраняем фамилии}
if (i>1)and(j>=1) then aa[i,j]:=StrSoInt(s1); {сохраняем оценки}
j:=j+1; {увеличиваем счётчик столбцов}
end;
writeln(); {делаем новую строку}
i:=i+1; {увеличиваем счётчик строк}
end;
close(f1); {закрытие файла}
assign(f1, 'CSV_OUT.csv'); //{связывание переменной f1 с файлом CSV_OUT.csv}
rewrite(f1); //открытие файла для записи
for i:=1 to 4 do
write(f1, subjects[i]); {выводим названия предметов}
write(f1,';','Очки'); {добавляем название}
writeln(f1,''); {отступаем строку}
for i:=1 to 3 do
begin
sum:=0; {обнуляем переменнуя для накопления суммы}
n:=0; {обнуляем переменнуя для накопления количества}
for j:=0 to 4 do
begin
if j=0 then write(f1,names[i],';') {выводим в файл
команды(нулевой столбец)}
else
begin
sum:=sum+aa[i+1,j]; {добавляем к сумме значение элемента}
n:=n+1; {увеличиваем количество на 1}
end;
end;
write(f1,sum,';'); {выводим среднее арифметическое в последнем столбце}
writeln(f1,''); {создаём новую строку}
end;
close(f1);
end.
В конце выдаёт undefined filename не найден хотя: в папке Pascal ABC и в документах есть?!
Беларусь;0;;;
Россия;;0;;
Украина;;;0;
Польша;;;;0