Помогите решить задачу.

Ответить
Pawa
Сообщения: 2
Зарегистрирован: 21 апр 2009, 23:37

Составить программу,которая:
1.Считывает с клавиатуры матрицу А размерностью М*М (значение М будет задано также с клавиатуры).
2.Находит максимальный элемент из множества элементов, находящихся в нечётных строках матрицы.
3.Находит минимальный элемент из множества элементов принадлежащих заштрихованной части матрицы.
4.заменяет местами элементы найденные во втором и третьем пунктах настоящего задания.
5.Выводит на экран монитора и записывает в файл с именем А12.REZ результаты каждого пункта задания ,сопровождая их соответствующими комментариями.

Зарание СПАСИБО.
Вложения
Фотка-00111.JPG
Фотка-00111.JPG (75.86 КБ) 92 просмотра
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

Помоготе и решите - разные вещи.
Жди.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
1) Файл "text.txt"(мне было удобней проверить в нем), заменишь на тот что тебе надо т.е. "А12.REZ".
2) По поводу первого задания уточняю..... Размер матрицы задается с клавы, но вот числа я не стал считывать я задал рендомом(так быстрее), я думаю вам не составит труда перебить на ручное.
3) Позиция выводится на экране от 1 до M. В коде от 0 до M, смотрите не перепутайте.
[syntax='Pascal']
uses
Crt;

var
i,j,min,max,m,n,k,k1,k2,p1,p2:integer;
a:array[0..20, 0..20] of integer;
b:array[0..50] of integer;
f1:text;
s:string;

begin
ClrScr;
max:=0;
min:=100;
Assign(f1, 'text.txt');
Rewrite(f1);
write('Vvedite matricy M*M: ');
readln(n);
writeln;
writeln('Ishodnaya matrica: ');
m:=n-1;
for i := 0 to m do
begin
for j := 0 to m do
begin
a[i,j] := random(9);
write(a[i,j], ' ');
end;
writeln;
end;
// Поиск максимального в не четный строках.
for I := 0 to m do
begin
if (i mod 2) = 0 then
for j := 0 to m do
begin
if a[i,j] > max then
begin
max:=a[i,j];
k1:=i;
k2:=j;
end;
end;
end;
// Ищем минимальное значение в треугольнике указанном на рисунке.
for j := 0 to m div 2 do
for i := m downto m-j do
begin
if a[i,j] < min then
begin
min:=a[i,j];
p1:=i;
p2:=j;
end;
end;
for j := m downto m div 2+1 do
for i:=m downto j do
begin
if a[i,j] < min then
begin
min:=a[i,j];
p1:=i;
p2:=j;
end;
end;
// Меняем местами максимальное с минимальным.
k:=a[k1,k2];
a[k1,k2]:=a[p1,p2];
a[p1,p2]:=k;
// Выводим матрицу котторая получилась
writeln;
writeln('Polychennaya matrica: ');
writeln(f1,'Polychennaya matrica: '); // Записываем в файл
for I := 0 to m do
begin
for j := 0 to m do
begin
write(a[i,j],' ');
write(f1,a[i,j],' ');// Записываем в файл
end;
writeln(f1);
writeln;
end;
// Выводим остальные данные
writeln;
writeln(f1);
writeln('max - ',max, ', matrix [',k1+1,',',k2+1,']');
writeln('min - ',min, ', matrix [',p1+1,',',p2+1,']');
writeln(f1,'max - ',max, ', matrix [',k1+1,',',k2+1,']'); // Записываем в файл
writeln(f1,'min - ',min, ', matrix [',p1+1,',',p2+1,']'); // Записываем в файл
reset(f1);
readln;
end.
[/syntax]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
Pawa
Сообщения: 2
Зарегистрирован: 21 апр 2009, 23:37

Гиганское спасибо!!!! я себе весь мозг поломал когда пытался решить! :cool:
Ответить