ПОМОГИТЕ прошу написать программу , уже очень долго сижу с ней но результат не получается. За правильную программу дам 100 баллов , все честно. Реально нужна помощь!
Дан целочисленный массив из 200 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Напишите программу, которая выполняет выбраковку данных в массиве:
если элементов, заканчивающихся на цифру 3, меньше, чем элементов, заканчивающихся на цифру 5, все элементы, заканчивающие на цифру 3 заменяются на минимальный из них. Иначе все элементы, заканчивающиеся на цифру 5, заменяются на максимальный из них. Например, для исходного массива из восьми элементов:
15 13 3 27 145 5 93 65
программа должна вывести числа:
15 3 3 27 145 5 3 65
Answers & Comments
var massive:array[1..200] of integer;
mn, mx, on3, on5, i:integer;
begin
on3 := 0; on5 := 0; mn := 10001; mx := -1;
//заполнение массива и вывод
for i:=1 to 200 do
begin
massive[i] := random(10001);
write(massive[i], ' ') ;
end;
writeln();
//перебор массива по элементам (на 3, на 9)
for i:=1 to 200 do
if massive[i] mod 10 = 3 then
on3 := on3 + 1
else if massive[i] mod 10 = 5 then
on5 := on5 + 1;
if on3 < on5 then
begin
for i:=1 to 200 do
if (massive[i] <mn) and (massive[i] mod 10 = 3) then
mn := massive[i];
for i:=1 to 200 do
if massive[i] mod 10 = 3 then
massive[i] := mn;
end
else
begin
for i:= 1 to 200 do
if (massive[i] > mx) and (massive[i] mod 10 = 5) then
mx := massive[i];
for i:=1 to 200 do
if massive[i] mod 10 = 5 then
massive[i] := mx;
end;
//вывод нового массива
for i:=1 to 200 do
write(massive[i], ' ');
end.