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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 12:52   #1
Zезарь
Новичок
Джуниор
 
Регистрация: 17.05.2011
Сообщений: 1
Восклицание Для заданной матрицы размером 8*8:

1. Найти минимальный по модулю элемент массива, его индексы.
(оформить в виде процедуры).
2. Найти произведение элементов в тех строках, которые содержат хотя бы один отрицательный элемент (оформить виде функции).

Нашел в интернете коды похожих программ, изменил под условие, но ничего не работает.

Код первой программы:
Код:
program z1;
var
    Matrix: array[1..8] of array[1..8] of real;
    Counter, Dimension, IndexMinimum : byte;
begin
write('[', Counter, ']');
read(Matrix[Counter]);
end;
writeln('Данный массив');
IndexMinimum:=1;
for Counter:=1 to Dimension do
        begin
        write(Matrix[Counter]:0:2,'');
        if Matrix[Counter] < Matrix[IndexMinimum] then
        IndexMinimum:= Counter;
        end;
writeln('Минимальный элемент массива равен' Matrix[IndexMinimum]:0;2);
writeln('Место минимального значения массива в массиве',IndexMinimum);
end.
Код второй программы:
Код:
program z2;
uses crt;
label inp1;
var n,k,i,j:intger;
        sum:integer;
        a:array[1..8,1..8] of integer;
        s:array[1..8] of integer;
begin
randomize;
clrscr;
inp:writeln('Выбирите способ заполнения массива*(1-вручную,2-случайно)');
readln(k);
case k of
begin
        for i:=1 to 8 do
        for j:=1 to 8 do
        begin
        writeln('Введите [',i',',j'] элемент массива*');
        read(a[i,j]);
        end;
else goto inp1;
end;
writeln('Массив заполнен значениями');
writeln;
for j:=1 to 8 do
begin
write(a[i,j]:2,');
end;
writeln;
end;
writeln;
search;
writeln;
     for i:=1 to 8 do
     begin
     for j:=1 to 8 do
     begin
     if a[i,j]<0 then
     begin
     sum:= summa(i);
     writeln('Сумма элементов в,i,' строка равна ',sum);
     break;
     end;
end;
end;
readln(i);
end.
Помогите разобраться в чем дело.
Zезарь вне форума Ответить с цитированием
Старый 17.05.2011, 13:09   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В 1 counter'у вначале не присвоено никакое значение или что-то около того, ну и массив не заполнен. И модуля там нету, в Паскале функция возвращающая модуль abs вроде.
Вообще массивы - это не сложно если потратить 5-10мин на изучение соответствующего раздела учебника, там наверняка и подобные задачи рассматриваются.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 17.05.2011 в 13:13.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование двумерного целочисленного массива (матрицы) размером N х M zergon Помощь студентам 4 02.04.2010 16:45
Для заданной квадратной матрицы сформировать одномерный массив из её диагональных элементов Даня Паскаль, Turbo Pascal, PascalABC.NET 13 28.01.2009 16:53
произведение всех элементов, расположенных на главной диагонали и выше ее матрицы размером 4х4, Pascal __FIRST__ Помощь студентам 2 12.12.2008 02:43