ответ: у тебя не правильное .в начале нужно найти максимальное число не оканч.на 3 , а потом вывести макс. число оканчивающееся на 3.ты разберись. но если ты шаришь в икт и просто не знаешь , как задать условие ,то там нужно через целые и кратные (div/mod) в твоем случае будет как-то так
if a mod 10=3 and a> max then max: =a
ну если ты ленивая жо#а то вот:
var a,b,k,max: integer;
begin
writeln('введите количество чисел > > n ');
readln(n);
max: =0;
for k: = 1 to n do;
begin
writeln('введите числа > > a ');
readln(a);
if (a mod 10=3) and (a> max) then max: =a
end;
writeln('самое больше число оканчивающееся на 3 -',max)
end.
в полной правильности я не уверен(т.к у меня нету паскаля),проверь компилятором
#include <stdlib.h>
#include <time.h>
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n, i, j;
do {
printf(" Введите n<=150. n = ");
scanf("%d", &n);
printf("\n");
if (n > 150) printf(" Слишком много!\n");
} while (n > 150);
float a[n];
srand(time(NULL));
printf(" ***Исходный массив ***\n");
for (i = 1; i <= n; i++)
{
a[i] = (float)rand() / RAND_MAX;
printf("%.3f ", a[i]);
}
printf("\n\n");
for (i = 4; i <= n; i+=3)
{
for (j = i; j < n; j++) a[j]=a[j+1];
--n;
}
printf(" ***Измененный массив ***\n");
for (i = 1; i <= n; i++) printf("%.3f ", a[i]);
return 0;
}