Вот имеется подобная программа (дали как пример...... в этой программе максимальные значения из каждого вектора копируются в конец этого вектора)
.....только мне нужно чтобы:
1. программа брала данные вектора из текстового файла
Например
-100 123 25 -47 133 -654 2 6 5 9 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
111 -1023 125 -487 133 54 2 5 5 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
... ... ... ... ... ... ... ... ... ... ... n
2. Далее она находила вектора (строки) с наибольшим по модулю значением
3. И копировала этот вектор в конец файла ...пока не переберет все вектора (строки)
Например
111 -1023 125 -487 133 54 2 5 5 0 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
-100 123 25 -47 133 -654 2 6 5 9 ... n
... ... ... ... ... ... ... ... ... ... ... n
4. И сохраняла уже новый список из векторов в новый текстовый документ
(то есть в новом документе должен быть уже новый массив
"111 -1023 125 -487 133 54 2 5 5 0 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
-100 123 25 -47 133 -654 2 6 5 9 ... n
... ... ... ... ... ... ... ... ... ... ... n"
:
uses crt;
const n=5; mmax=20;
type mas=array[1..n] of integer;
fail=file of mas;
function max(x:mas):integer;
var i,mx:integer;
begin
mx:=abs(x[1]);
for i:=2 to n do
if abs(x[i])>mx then
mx:=abs(x[i]);
max:=mx
end;
var f:fail;
x,y:mas;
m,i,j,k,mx:integer;
begin
clrscr;
randomize;
assign(f,'filef');
rewrite(f);
repeat
write('ведите количество компонет до',mmax,' m=');
readln(m);
until m in [1..mmax];
for i:=1 to m do
begin
for j:=1 to n do
x[j]:=random(101);
write(f,x);
end;
writeln('Содержание исходного файла:');
writeln('Макс. модуль':n*5+12);
reset(f);
mx:=-maxint-1;
while not eof(f) do
begin
read(f,x);
for i:=1 to n do
begin
write(x[i]:5);
if max(x)>mx then
mx:=max(x);
end;
writeln(max(x):7);
end;
writeln('Максимальный модуль=',mx);
seek(f,0);
k:=0;{количество компонент с макс. модулем}
i:=0;
while i<filesize(f)-k do
begin
seek(f,i);
read(f,x);
if max(x)=mx then
begin
k:=k+1;
for j:=i to filesize(f)-k-1 do
begin
seek(f,j+1);
read(f,y);
seek(f,j);
write(f,y);
end;
seek(f,filesize(f)-k);
write(f,x);
end;
i:=i+1;
end;
writeln('Компонеты с макс. модулем в конец:');
writeln('Макс. модуль':n*5+12);
seek(f,0);
while not eof(f) do
begin
read(f,x);
for i:=1 to n do
write(x[i]:5);
writeln(max(x):7);
end;
close(f);
readln
end.
1. программа брала данные вектора из текстового файла
Например
-100 123 25 -47 133 -654 2 6 5 9 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
111 -1023 125 -487 133 54 2 5 5 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
... ... ... ... ... ... ... ... ... ... ... n
2. Далее она находила вектора (строки) с наибольшим по модулю значением
3. И копировала этот вектор в конец файла ...пока не переберет все вектора (строки)
Например
111 -1023 125 -487 133 54 2 5 5 0 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
-100 123 25 -47 133 -654 2 6 5 9 ... n
... ... ... ... ... ... ... ... ... ... ... n
4. И сохраняла уже новый список из векторов в новый текстовый документ
(то есть в новом документе должен быть уже новый массив
"111 -1023 125 -487 133 54 2 5 5 0 ... n
1010 223 55 -41 103 -64 4 8 3 0 ... n
-190 103 55 47 933 -6 88 6 5 -10 ... n
-100 123 25 -47 133 -654 2 6 5 9 ... n
... ... ... ... ... ... ... ... ... ... ... n"