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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 15:57   #1
Lizonka-88
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 23
По умолчанию в матрице найти сумму элементов строки

в квадратной матрице (5), найти сумму элементов строки, в которой нах наименьший элемент
мое
Код:
Program zad6;
uses crt;
const
n=5;
type
mas= array[1..n,1..n] of integer;
var
a: mas; S, min: real; t, i, j: byte;
Begin
clrscr;
min := a[1,1];
writeln('vvedite massiv');
for i:= 1 to n do
  for j:= 1 to n do
  begin
        readln(a[i,j]);
        if min > a[i,j] then t:= j;
    end;
 S:= a[1,t]+a[2,t]+a[3,t]+a[4,t]+a[5,t];
writeln('summa =', S:4:2);
end.



___________
вижу, что вы пытались правильно оформить код тегами!
Вот только забыли выделить ваш исходный код перед нажатием кнопочки с решёточкой #
Код должен быть МЕЖДУ тегов [CODE] и [ / CODE]
В следущих раз будьте внимательней!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.01.2012 в 16:07.
Lizonka-88 вне форума Ответить с цитированием
Старый 25.01.2012, 16:17   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в решении Вы допустили ряд ошибок!
одна ошибка связана с тем, что Вы в одном цикле и вводите элементы и вычисляете (пытаетесь) вычислить минимум. a[1,1] не задано в момент его присвоения.
другая ошибка - это то, что вы сравниваете с Min - но нигде его в цикле не присваиваете. да и я бы вообще рекомендовал отказаться от Min - лучше хранить индексы минимального элемента.
ну и совсем "глупая" ошибка (точнее недочёт, конечно) - это то, что для целочисленной матрицы для хранения суммы вы задаёте переменную ВЕЩЕСТВЕННОГО типа. что, для целых чисел сумма может быть дробным числом?!


Например, я бы предложил такое решение:
Код:
.....
var 
  a: mas;
  S, i, j, MinI, MinJ : integer;
begin
  MinI:=1; MinJ := 1; {будем считать изначально минимальным элемент в позиции 1,1}
  writeln('vvedite massiv');
  for i:= 1 to n do
    for j:= 1 to n do
    begin
        readln(a[i,j]);
        if a[i,j] < a[MinI, MinJ] then begin
             MinI:= i;
             MinJ := j;
        end;
    end;
    WriteLn(' minimalnya element = ', a[MinI, MinJ], ' raspologen v stroke ',MinI);

    {подсчёт суммы элементов строки} 
    S := 0; 
    for j:=1 to n do
        S:= S + a[MinI, j];

    writeln('summa =', S);
    readln;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В квадратной матрице найти сумму элементов главной и побочной диагонали, среднее, min и max (Pascal) Brusik Помощь студентам 0 09.07.2011 17:01
В матрице в каждой строке найти сумму N Элементов расположенных после максимального элемента этой строки lexflax Паскаль, Turbo Pascal, PascalABC.NET 0 20.04.2011 14:41
в сглаженой матрице найти сумму модулей элементов расположенных ниже главной диагонали Sergeo_89 Паскаль, Turbo Pascal, PascalABC.NET 8 07.12.2010 00:02
В матрице упорядочить строки по возрастанию максимальных элементов. Помогите найти ошибку. amerhant Помощь студентам 3 16.01.2010 19:39
найти сумму элементов строки jenja Общие вопросы Delphi 2 02.04.2008 17:49