Код
const MaxSize=100;
var A:array[1..MaxSize] of integer; {Массив элементов}
Elem:array[1..MaxSize] of integer; {Массив номеров элементов}
I,
MaxA, {Количество элементов в массиве A }
MaxElem:integer; {Количество элементов в массиве Elem }
function IsSimple(M:integer):boolean;
{ Функция возвращает true если число простое }
var k:integer;
begin
if M<0 then
begin IsSimple:=false;
exit;
end;
isSimple:=true;
for k:=2 to M-1 do
if M mod K = 0 then isSimple:=false;
end;
begin
{Ввод массива}
writeln('Программа находит номера простых элементов');
writeln('Какое количество чисел необходимо обработать?');
readln(MaxA);
if MaxA>MaxSize then
begin{Если количество элементов слишком большое,сообщаем и заканчиваем работу}
writeln('Число слишком большое, максимальное возможное',MaxSize:4);
readln;
halt(1);
end;
writeln('Введите числа:');
for i := 1 to MaxA do
begin
write(i:4,': ');
readln(A[i]);
if A[i]<1 then
begin
writeln('Неверное отрицательное число, изменено на 1');
A[i]:=1;
end;
end;
MaxElem:=0;
for i:=1 to MaxA do
if IsSimple(A[i]) then
begin
{Если число простое, то увеличиваем MaxElem и заносим его номер в массив}
MaxElem:=MaxElem+1;
Elem[MaxElem]:=i;
end;
{Вывод полученных результатов}
for i:=1 to MaxElem do
writeln('№ ',i:4,' № в массиве : ',Elem[i]);
readln;
end.
var A:array[1..MaxSize] of integer; {Массив элементов}
Elem:array[1..MaxSize] of integer; {Массив номеров элементов}
I,
MaxA, {Количество элементов в массиве A }
MaxElem:integer; {Количество элементов в массиве Elem }
function IsSimple(M:integer):boolean;
{ Функция возвращает true если число простое }
var k:integer;
begin
if M<0 then
begin IsSimple:=false;
exit;
end;
isSimple:=true;
for k:=2 to M-1 do
if M mod K = 0 then isSimple:=false;
end;
begin
{Ввод массива}
writeln('Программа находит номера простых элементов');
writeln('Какое количество чисел необходимо обработать?');
readln(MaxA);
if MaxA>MaxSize then
begin{Если количество элементов слишком большое,сообщаем и заканчиваем работу}
writeln('Число слишком большое, максимальное возможное',MaxSize:4);
readln;
halt(1);
end;
writeln('Введите числа:');
for i := 1 to MaxA do
begin
write(i:4,': ');
readln(A[i]);
if A[i]<1 then
begin
writeln('Неверное отрицательное число, изменено на 1');
A[i]:=1;
end;
end;
MaxElem:=0;
for i:=1 to MaxA do
if IsSimple(A[i]) then
begin
{Если число простое, то увеличиваем MaxElem и заносим его номер в массив}
MaxElem:=MaxElem+1;
Elem[MaxElem]:=i;
end;
{Вывод полученных результатов}
for i:=1 to MaxElem do
writeln('№ ',i:4,' № в массиве : ',Elem[i]);
readln;
end.
И 2 задачка, та же самая проблема
Код
const MaxSize=100;
var A:array[1..MaxSize] of integer; {Массив элементов}
i,j,
maxA:integer; {Количество элементов в массиве A }
begin
{Ввод массива}
writeln('Программа вставляет пустые элементы в массив');
writeln('Какой размер массива?');
readln(maxA);
if maxA>MaxSize then
begin
{Если количество элементов слишком большое, сообщаем и заканчиваем работу}
writeln('Число слишком большое, максимальное возможное ',MaxSize:4);
readln;
halt(1);
end;
writeln('Введите элемeнты массива:');
for i := 1 to maxA do
begin
write(i:4,': ');
readln(A[i]);
end;
{Проверка условия и вставка нулевого элемента}
i:=1;
while i<=maxA do
begin
if (A[i]<0) and (A[i] mod 2 <> 0) then
begin
{Передвигаем все элементы вправо и вставляем нулевой элемент}
for j:=maxA downto i+1 do
A[j+1]:=A[j];
maxA:=maxA+1;
A[i+1]:=0;
end;
i:=i+1;
end;
{Вывод результата}
for i := 1 to MaxA do
writeln('Элемент ',i:3,': ',A[i]);
readln;
end.
var A:array[1..MaxSize] of integer; {Массив элементов}
i,j,
maxA:integer; {Количество элементов в массиве A }
begin
{Ввод массива}
writeln('Программа вставляет пустые элементы в массив');
writeln('Какой размер массива?');
readln(maxA);
if maxA>MaxSize then
begin
{Если количество элементов слишком большое, сообщаем и заканчиваем работу}
writeln('Число слишком большое, максимальное возможное ',MaxSize:4);
readln;
halt(1);
end;
writeln('Введите элемeнты массива:');
for i := 1 to maxA do
begin
write(i:4,': ');
readln(A[i]);
end;
{Проверка условия и вставка нулевого элемента}
i:=1;
while i<=maxA do
begin
if (A[i]<0) and (A[i] mod 2 <> 0) then
begin
{Передвигаем все элементы вправо и вставляем нулевой элемент}
for j:=maxA downto i+1 do
A[j+1]:=A[j];
maxA:=maxA+1;
A[i+1]:=0;
end;
i:=i+1;
end;
{Вывод результата}
for i := 1 to MaxA do
writeln('Элемент ',i:3,': ',A[i]);
readln;
end.