Присваиваем переменной max, которая должна содержать максимальное значение, минимальное значение -1 ( -1000 -1 = -1001).
for j := 1 to N doif (a[j] mod 10 <> 3) and (a[j]<0) thenif a[j]>max then max := a[j];Пробегаемся по элементам массива и смотрим: если остаток модуля элемента от деления на 10 неравен 3 (т.е. не оканчивается цифрой 3) и элемент меньше 0 (т.е. отрицательный), тогда, при условии, что элемент больше текущего максимального значения, переменную max перезаписываем -- присваиваем ей текущий элемент.
if max=-1001 then write('Не найдено') else write(max);Если переменная max содержит изначальное значение (-1001), то выводим на экран "Не найдено", иначе выводим на экран max.
Пример работы:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n;
cin>>n;
int *arr = new int;
for(int i = 0;i<n;i++){
arr[i] = 0+rand()%100;
}
int summ = 0;
int count = 0;
for(int i = 0;i<n;i++){
if(arr[i]<78){
summ+=arr[i];
count ++;
}
}
double result = summ / count;
cout<<result;
return 0;
}
Краткий гайд:
n - переменная, отвечает за размер массива*arr - динамический массив, динамический, потому что нужно задавать его размер.