Помощь - Поиск - Пользователи - Календарь
Полная версия: Два массива: одномерный и двумерный
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ГИДРА
1)Дан одномерный массив А(9). Вычислить произведение членов, имеющих четные номера.

2)Дан двумерный массив В(4,4) Найти сумму его отрицательных элементов.


Люди добрые, помогите пожалуйста решить)))
Заранее благодарна всем, кто сможет мне помочь...

Unconnected
Цитата
кто сможет мне помочь...


Наверное, уже есть кусочек кода? smile.gif
ГИДРА
Вот "кусочки"... только не знаю правильно ли это.... и как полностью прописать, тоже не знаю(((





1)
//ввод массива опустим. вот то, что будет считать его:
//i, resoult - integer
//mass - наш массив

resoult:=1;
for i:=1 to 9 do begin
if (odd(i)) then
resoult:=resoult*mass[i];
end;
writeln(summ);

2)
//также опустим первую часть программы. только то, что считает.
//i,j,resoult - integer
//mass - наш массив

resoult:=0;
for i:=1 to 4 do begin
for j:=1 to 4 do begin
if (mass[i,j]<0) then
resoult:=resoult+mass[i,j];
end;
end;
Unconnected
Мм ну и в чём проблема тогда?)
Lapp
Цитата(Unconnected @ 21.06.2010 0:17) *
Мм ну и в чём проблема тогда?)
Unconnected любил пошутить. Бывало, прикопается - и все шутит, шутит.. ))

ГИДРА, любезная, пожалуйста, используй тэги, когда постишь код (Правила Форума, п.5, и правила раздела Задачи, п.2)

1.
- ты условие выполнила наоборот: считаешь произведение НЕчетных;
- если считаешь resoult (кстати, если ты имела в виду английское слово - буква o лишняя), то почему выводишь перевенную summ?
Вот так:
result:=1;
for i:=1 to 9 do if not odd(i) then result:=result*mass[i];
writeln(result);

Но лучше, конечно, сразу вести цикл по четным - зачем идти по всем, да еще проверку делать?
result:=1;
for i:=1 to 9 div 2 do result:=result*mass[i*2];
writeln(result);


2.
во втором действительно не видно проблем.. Разве что лишние ненужные beginы и endы и скобки.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.