Алгоритм сортировки строки массива по возрастанию методом прямого выбора может быть представлен так: 1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального. 2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального. 3. И так далее до предпоследнего элемента.
Решение:
//Pascal const n = 7;
var a: array[1..n, 1..n] of integer; i, j, min, ind: integer;
//Заполнение массива сл. числами и вывод на экран begin for i := 1 to n do begin for j := 1 to n do begin a[i, j] := random(100); write(a[i, j]:4); end; writeln; end;
//Сортировка строки матрицы прямым выбором
for i := 1 to n - 1 do begin min := a[4, i]; ind := i; for j := i + 1 to n do if a[4, j] < min then begin min := a[4, j]; ind := j; end; a[4, ind] := a[4, i]; a[4, i] := min; end; writeln;
//вывод отсортированной строки for j := 1 to n do begin write(a[4, j]:4); end; end.
1. uses crt; var n:string; begin read(n); writeln(strtoint(n[1])*strtoint(n[2])*strtoint(n[3])); end. 2. uses crt; var n,i:integer; res:double; begin read(n); for i:=1 to n do res:=res+cos(1/i); writeln(res:5:3); end. 3. uses crt; var n,i:integer; mult:real; a:array[1..100] of real; begin mult:=1; writeln('Input N and elements of array.'); read(n); for i:=1 to n do begin read(a[i]); if i mod 2=0 then mult:=mult*a[i]; end; writeln(mult); end. 4. uses crt; var n,i,sum:integer; a:array[1..100] of integer; begin writeln('Input N and elements of array.'); read(n); for i:=1 to n do read(a[i]); i:=1; while (a[i]<>0) and (i<=n) do begin if a[i] mod 2=0 then sum:=sum+a[i]; i:=i+1; end; writeln(sum); end.
1. Просматривая строку массива от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.
2. Просматривая строку массива от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.
3. И так далее до предпоследнего элемента.
Решение:
//Pascal
const
n = 7;
var
a: array[1..n, 1..n] of integer;
i, j, min, ind: integer;
//Заполнение массива сл. числами и вывод на экран
begin
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := random(100);
write(a[i, j]:4);
end;
writeln;
end;
//Сортировка строки матрицы прямым выбором
for i := 1 to n - 1 do
begin
min := a[4, i];
ind := i;
for j := i + 1 to n do
if a[4, j] < min then
begin
min := a[4, j];
ind := j;
end;
a[4, ind] := a[4, i];
a[4, i] := min;
end;
writeln;
//вывод отсортированной строки
for j := 1 to n do
begin
write(a[4, j]:4);
end;
end.
uses crt;
var n:string;
begin
read(n);
writeln(strtoint(n[1])*strtoint(n[2])*strtoint(n[3]));
end.
2.
uses crt;
var n,i:integer;
res:double;
begin
read(n);
for i:=1 to n do
res:=res+cos(1/i);
writeln(res:5:3);
end.
3.
uses crt;
var n,i:integer;
mult:real;
a:array[1..100] of real;
begin
mult:=1;
writeln('Input N and elements of array.');
read(n);
for i:=1 to n do
begin
read(a[i]);
if i mod 2=0 then
mult:=mult*a[i];
end;
writeln(mult);
end.
4.
uses crt;
var n,i,sum:integer;
a:array[1..100] of integer;
begin
writeln('Input N and elements of array.');
read(n);
for i:=1 to n do
read(a[i]);
i:=1;
while (a[i]<>0) and (i<=n) do
begin
if a[i] mod 2=0 then
sum:=sum+a[i];
i:=i+1;
end;
writeln(sum);
end.