Помогите решить задачку!!! Задать массив состоящий из 10 целых чисел. Найти максимальный элемент массива. В 3 раза увеличить значение отрицательных элементов массива. Найти кол-во ненулевых элементов массива. ПОЖАЛУЙСТА.
ПРИМЕЧАНИЕ: Решить её надо с помощью процедур.
М
Сообщения объеденены. А на будущее : существует кнопка ПРАВКА klem4
Не знаю правильно или нет но у меня вот, что получилось:
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
19.11.2005 14:51
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
19.11.2005 15:05
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;
будет определена непосредственно после описания всех процедур и функций, перед основным блоком программы, то такие ошибки будут найдены при компиляции...
virt
19.11.2005 18:34
To: volvo сорри ,я имел ввиду только что mas надо как переменную передавать.
blacbaron
19.11.2005 20:07
Всем огромное спасибо!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.