Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с одномерными массивами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
blacbaron
Помогите решить задачку!!!
Задать массив состоящий из 10 целых чисел.
Найти максимальный элемент массива.
В 3 раза увеличить значение отрицательных элементов массива.
Найти кол-во ненулевых элементов массива. unsure.gif
ПОЖАЛУЙСТА.

ПРИМЕЧАНИЕ:
Решить её надо с помощью процедур. mega_chok.gif

М
Сообщения объеденены. А на будущее : существует кнопка ПРАВКА
klem4

klem4
А по теме : пользуйся поиском + FAQ : Массивы, матрицы, типичные задачи. Будудт конкретные вопросы - задавай.
Fang
Не знаю правильно или нет но у меня вот, что получилось:

type
massiv = array[1..10] of integer; {Задаем массив из 10 чисел}
var
a: massiv;
i,cnt,max: integer;

procedure OutMass(mas: massiv); {вывод массива}
begin
write('Массив: ');
for i:=1 to 10 do
write(a[i], ' ');
end;

procedure FindMax(mas : massiv); {находим макс. эл-т}
begin
max:=a[1];
for i:=2 to 10 do
if a[i] > max then max:=a[i];
writeln('Максимальный элемент: ', max);
end;

procedure IncOtric(mas: massiv); {в 3 раза увеличиваем значение отриц. эл-в}
begin
for i:=1 to 10 do
if a[i] < 0 then a[i]:=3*a[i];
end;

procedure NeNull(mas: massiv); {счит. кол-во ненулевых эл-в}
begin
cnt:=0;
for i:=1 to 10 do
if mas[i] <> 0 then inc(cnt);
writeln('Кол-во ненулевых элементов: ', cnt);
end;
{--// Основная программа //--}
begin
for i:=1 to 10 do
begin
write('A[',i,']: ');
readln(a[i]);
end;
OutMass(a); {выводим массив}
FindMax(a); {ищем и выводим максимальный эл-т}
IncOtric(a); {увелич. отриц. эл-ты}
NeNull(a); {считаем ненулевые эл-ты}
OutMass(a); {заново выводим массив}
end.
virt
procedure IncOtric(var mas: massiv); {в 3 раза увеличиваем значение отриц. эл-в}
begin
for i:=1 to 10 do
if a[i] < 0 then a[i]:=a[i]*a[i]*a[i];
end;
volvo
To: Fang & virt
Не "возводим в куб", а "увеличиваем в 3 раза" !!!

procedure IncOtric(var mas: massiv);
begin
for i:=1 to 10 do
if mas[i] < 0 then mas[i]:=3*mas[i];
end;


P.S. Кстати, Fang, твоя программа будет вообще что-то непотребное делать... Объясни мне, например, зачем ты передаешь в процедуру параметр, а работаешь НЕ с ним, а с глобальным массивом?
procedure OutMass(mas: massiv);  {вывод массива}
begin
write('Массив: ');
for i:=1 to 10 do
write(mas[i], ' ');
end;

procedure FindMax(mas : massiv); {находим макс. эл-т}
begin
max:=mas[1];
for i:=2 to 10 do
if mas[i] > max then max:=mas[i];
writeln('Максимальный элемент: ', max);
end;


Будь внимательнее в следующий раз. А лучше НЕ позволять таким ошибкам появляться (возложи это на компилятор)... Если переменная
var
a: massiv;
будет определена непосредственно после описания всех процедур и функций, перед основным блоком программы, то такие ошибки будут найдены при компиляции... yes2.gif
virt
To: volvo
сорри ,я имел ввиду только что mas надо как переменную передавать.
blacbaron
Всем огромное спасибо!!! good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.