1. Задание Марина Иванова, работая над проектом по литературе, создала следующие файлы:
D:\Литература\Проект\Есенин.bmp
D:\Учёба\Работа\Писатели.doc
D:\Учёба\Работа\Поэты.doc
D:\Литература\Проект\Пушкин.bmp
D:\Литература\Проект\Стихотворения.doc
D:\Учёба\Работа\Есенин.doc
s: string;
begin
writteln('введите n,k');
readln(n,k);
str(n,s);{преобразуем число n в строку s}
witeln(s[length(s)-k+1]); {length(s) -длина строки}
end.
{2 задача}
cons nmax=20;
var a:array [1..nmax] of integer;
min1,min2,i,k1,k2,N:integer;
begin
writeln('введите кол-во элементов массива');
readln(N);
writeln('введите элементы массива');
for i:=1 to N do read(a[i]);
min1:=a[1]; k1:=1; {k1 -индекс первого минимального элемента}
for i:=2 to n do
if min1>a[i] then
begin
min1:=a[i];
k1:=i
end;
{исключаем найденный минимальный элемент из массива- можно и по другому}
for i:=k1+1 to N do
a[i-1]:=a[i];
k1:=n-1;
end;
min2:=a[1]; k2:=1; {k1 -индекс первого минимального элемента}
for i:=2 to n do
if min2>a[i] then
begin
min2:=a[i];
k2:=i
end;
writeln(min1:5,min2:5)
{если нужно было сохранить массив в начале программы надо ввести дополнительный массив }
end.
Программа написана и отлажена в среде PascalABC.Net.
const
n = 4;
var
a:array[1..n,1..n] of integer;
i,j,s,amin,jmin,amax,imax: integer;
begin
{ инициализация массива }
Writeln('Исходный массив');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(51)-25; { случайные числа на [-25;25] }
Write(a[i,j]:4)
end;
Writeln
end;
{ сумма элементов побочной диагонали }
s:=0;
for i:=1 to n do s:=s+a[n-i+1,i];
Writeln('Сумма элементов побочной диагонали: ',s);
Writeln('Меняем местами первый и последний столбцы');
for i:=1 to n do
begin s:=a[i,1]; a[i,1]:=a[i,n]; a[i,n]:=s end;
{ вывод }
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln
end;
{ меняем местами минимальный элемент первой строки
и максимальный элемент последнего столбца }
amin:=a[1,1]; jmin:=1;
for j:=2 to n do
if amin>a[1,j] then begin amin:=a[1,j]; jmin:=j end;
amax:=a[1,n]; imax:=1;
for i:=2 to n do
if amax<a[i,n] then begin amax:=a[i,n]; imax:=i end;
a[1,jmin]:=amax; a[imax,n]:=amin;
Writeln('Массив после обмена местами найденных элементов');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln
end
end.
Тестовое решение:
Исходный массив
-14 -25 -14 -11
8 -5 5 0
5 20 -7 -9
-23 4 -3 18
Сумма элементов побочной диагонали: -9
Меняем местами первый и последний столбцы
-11 -25 -14 -14
0 -5 5 8
-9 20 -7 5
18 4 -3 -23
Массив после обмена местами найденных элементов
-11 8 -14 -14
0 -5 5 -25
-9 20 -7 5
18 4 -3 -23