![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я в программирование полный ноль помогите написать программу:
Написать программу, сортирующую методом выбора главную диагональ двумерного массива целых чисел. Массив считать из текстового файла, содержащего в первой строке кол-во строк и кол-во столбцов, а далее в каждой строке целые числа, соответствующие элементам строки массива, например, 3 3 1 2 3 2 3 4 3 4 5 . |
| Этот пользователь сказал Спасибо Virus2011 за это полезное сообщение: | ||
vadim12345 (22.12.2011)
| ||
|
#2
|
|||
|
|||
|
Код:
program p1;
uses crt;
type mas=array [0..0,0..0] of integer;
var i,j,n,m:integer;
a:mas;
f:text;
begin
clrscr;
assing(f,'1.txt');
reset(f);
read(f,n,m);
close(f);
for i:=0 to n-1 do begin
for j:=0 to m-1 do begin
a[i,j]:=i+j+1;
write(a[i,j]:3);
end;
end;
readln;
end. |
| Этот пользователь сказал Спасибо stil за это полезное сообщение: | ||
vadim12345 (22.12.2011)
| ||
|
#3
|
|||
|
|||
|
Код:
program massiv1;
uses crt;
var n,k,i,j, stol, buf: integer;
p: real;
a: array[1..10,1..10] of integer; //
f,g: text;
begin
clrscr;
assign(g,'c:\1.txt'); //
reset(g); //
writeln('Исходный массив');
j:=1;
while not eoln(g) do //
begin
while j<=1 do // сделан для того чтобы считать 1 символ кол-во строк
begin
read(g,n);
j:=j+1;
end;
read(g,stol); // т к счетчик перепрыгнул на след елемент можно занести и его кол-во столбцов
end;
i:=0; // i- строки
while not eof(g) do // eof - использ для проверки конца файла, а eoln- для пров конца строки
begin
if (i<=stol) then i:=i+1;
j:=1; // j- столбцы
while j<=n do
begin
read(g,a[i,j]); // заполняем массив
j:=j+1;
end;
end;
close(g);
writeln('Массив заполнен значениями.'); //вывод массива на экран
writeln;
for i:=1 to stol do begin
for j:=1 to n do
begin
write(a[i,j],' ');
end; writeln; end;
// сортировка
for i:=1 to n-1 do begin
for j:=1 to n-1 do begin
a[i,j]:=i+j+1;
end;
end;
writeln('Отсортированный массив!!!'); //вывод массива на экран
writeln;
for i:=1 to stol do begin
for j:=1 to n do
begin
write(a[i,j],' ');
end; writeln; end;
end. |
| Этот пользователь сказал Спасибо Virus2011 за это полезное сообщение: | ||
vadim12345 (22.12.2011)
| ||
|
#4
|
|||
|
|||
|
program massiv1;
uses crt; var n,k,i,m,j,x, stol, buf: integer; p: real; a: array[1..10,1..10] of integer; // f,g: text; begin clrscr; assign(g,'c:\1.txt'); // reset(g); // writeln('Исходный массив'); j:=1; while not eoln(g) do // begin while j<=1 do // сделан для того чтобы считать 1 символ кол-во строк begin read(g,n); j:=j+1; end; read(g,stol); // т к счетчик перепрыгнул на след елемент можно занести и его кол-во столбцов end; i:=0; // i- строки while not eof(g) do // eof - использ для проверки конца файла, а eoln- для пров конца строки begin if (i<=stol) then i:=i+1; j:=1; // j- столбцы while j<=n do begin read(g,a[i,j]); // заполняем массив j:=j+1; end; end; close(g); writeln('Массив заполнен значениями.'); //вывод массива на экран writeln; for i:=1 to stol do begin for j:=1 to n do begin write(a[i,j],' '); end; writeln; end; // сортировка for k:=n downto 2 do {k - kol-vo elementov dla poiska max } begin m:=1; { m - mesto max } for i:=2 to k do if A[i,i]>A[m,m] then m:=i; {menaem mestami elementi s nomerom m i nomerom k} x:=A[m,m]; A[m,m]:=A[k,k]; A[k,k]:=x; end; writeln('Отсортированный массив!!!'); //вывод массива на экран writeln; for i:=1 to stol do begin for j:=1 to n do begin write(a[i,j],' '); end; writeln; end; end. ![]() |