Помощь - Поиск - Пользователи - Календарь
Полная версия: Все о файлах
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Edelana
Исходный код
uses crt;
const
n=5;
type
mas=array[1..n,1..n] of integer;
fmass=file of mas;
var
a:mas;
f:fmass;
s,g,p,i,j:integer;

procedure vivod(var f :fmass );
begin
reset(f);
writeln;
while not eof(f) do begin
read(f,a);
for i:=1 to n do begin
for j:=1 to n do
begin
if i=j then textcolor(10) else textcolor(7);
if j=n+1-i then textcolor(12);
write( a[i,j]:3);
end;
writeln;
end;
writeln;
end;
end;

begin
textbackground(0);
clrscr;
randomize;
assign(f,'000.000');
{$I-}reset(f);{$I+}
if ioresult<>0 then begin
rewrite(f);
repeat
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(10);
write(f,a);
write(' Vvesti eshe ? (y/n) :', ' y');
writeln;
until readkey='n';
close (f);
end;
window(1,5,40,25);
vivod(f);
reset(f);
textcolor(7);
while not eof(f) do

begin
read(f,a);
for i:=1 to n do
begin
s:=a[i,i];
a[i,i]:=a[i,n-i+1];
a[i,n-i+1]:=s;
end;
seek(f,filepos(f)-1);
write(f,a);
end;

window(40,5,80,25);
vivod(f);
close(f);
readkey;
end.

как сделать чтоб сумму главной и побочной диагонали он выводил сразу после введенного массива а не после того как он все выведет?


Объясните пожалуйста как в текстовом файле выделить любое слово и поставить его в любое место куда захочу. Скажем первое поменять с последним. Третье слово с предпоследним. Желательно посмотреть наглядно.
И как проще?
volvo
Edelana, я конечно очень извиняюсь, но FAQ существует не для того, чтобы те вопросы, которые там рассматриваются, задавать снова и снова.

FAQ: Как разбить строку на слова? Отсюда можно взять алгоритм вычленения слов из строки.

А вообще-то прежде, чем начинать работать с файлами, неплохо бы научиться производить аналогичные действия со строками.

Также почитайте "FAQ: Файлы".
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.