Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2008, 12:16   #1
Seriy8888
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 16
Печаль Помогите решить задачку...(Матрица)

Дана матрица А(5,3)
1)Найти строку содержащую минимальный элемент матрицы.
2)Найденную строку поменять местами с 4-ой строкой.
3)В полученной матрице подсчитать сумму для элементов 3-ей строки по формуле. S=сумма от j-1 до 4 (корень(модуль(1,2+a3i)))
Нужна программа.
Seriy8888 вне форума Ответить с цитированием
Старый 06.12.2008, 13:40   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
Восклицание Держи :D

program search;
{Дана матрица А(5,3):
1)Найти строку содержащую минимальный элемент матрицы.
2)Найденную строку поменять местами с 4-ой строкой.
3)В полученной матрице подсчитать сумму для элементов 3-ей строки по формуле. S=сумма от j-1 до 4 (корень(модуль(1,2+a3i))) }


const
c=5; {Размеры массива}
b=3;
var
A : array [1..c,1..b] of shortInt; {Массив}
i,k,n : byte; { Счетчики и последний - строка с минимальным элементом }
min,t : shortInt; { Минимальный элемент и дополнительная переменная для обмена местами строк массива }
Sum : real; { Вещественная сумма }
begin { Начало программы }

Randomize; { Инициализируем генератор случайных чисел }

{ Заполняем элементы матрицы: }
for i:=1 to c do
for k:=1 to b do
a[i,k]:=random(50)-25;

{ Выводим матрицу }
writeln ('Ваша матрица :');
for i:=1 to c do
begin
for k:=1 to b-1 do
write (A[i,k],'|');
writeln (A[i,b]);
end;

min:=25; { Присваиваем максимальное из возможного значения, которое может дать генератор случайных чисел }
{ Ищем минимальный элемент, пока не исчерпаем матрицу }
for i:=1 to c do
for k:=1 to b do
if A[i,k]<min then { Если очередной элемент матрицы меньше минимального, то минимальным на этом этапе становится это элемент }
begin
min:=A[i,k];
n:=i { И записываем номер строки этого минимального элемента }
end;

writeln ('Минимальный элемент ',min,' в ',n,' строке');

{ Теперь меняем местами 4 строку и ту, в которой обнаружили самыq минимальны элемент: если минимальный элемент в 4 строке, то менять не нужно }
if n<>4 then
for k:=1 to b do
begin
t:=A[n,k];
A[n,k]:=A[4,k];
A[4,k]:=t
end;

{ Выводим новую матрицу с замененными строками (или матрицу без изменений, если минимальный элемент оказался в 4 строке }
writeln ('Ваша новая матрица:');
for i:=1 to c do
begin
for k:=1 to b-1 do
write (A[i,k],'|');
writeln (A[i,b]); { Тут лихо делаем в конце каждой строки матрицы перенос на новую строку для "наглядности" матрицы :D}
end;

for i:=1 to b do { Тут считаем сумму элементов 3-ей строки по заданной формуле }
Sum:=Sum+sqrt(abs(1.2+A[3,i]));

{ Выводим сумму }
writeln ('Сумма элементов 3-ей строки:');
writeln (Sum :4:4);

readln
end. { Конец программы } { The End xD}

Не очень понял, что значит строчка "S=сумма от j-1 до 4" - просто написал тебе сумму по формуле Sum:=Sum+корень из модуля 1.2+элемент 3 строки
capta1n вне форума Ответить с цитированием
Старый 06.12.2008, 16:08   #3
alen666
Пользователь
 
Регистрация: 08.03.2008
Сообщений: 14
По умолчанию

---------------
alen666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ ПРОВЕРИТЬ ЗАДАЧКУ НА ПАСКАЛЕ!Матрица,2-Х мерный массив! vdv08 Помощь студентам 6 23.09.2008 13:13
Помогите решить задачку rainbow1 Паскаль, Turbo Pascal, PascalABC.NET 1 28.08.2008 16:59