Статистика
Всего в нашей базе более 4 327 660 вопросов и 6 445 973 ответов!

Помогите написать программу в Pascal!

10-11 класс

Дан одномерный
целочисленный массив А, состоящий из N элементов, N- заданное натуральное число, пусть max- наибольшее, min- наименьшее
значения среди элементов массива. Составить одномерный массив В из простых
чисел и сегмента [min,max],которые не являются элементами массива А, записав его
элементы в порядке неубывания. Если таких элементов нет, то выдать соответствующее
текстовое сообщение.

Nastyabak13 16 мая 2016 г., 17:16:32 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Lubasha52
16 мая 2016 г., 19:52:08 (7 лет назад)

В целом программа рабочая, за исключением одного маленького блока, т.к. не могу прописать условие нормально:с Я указала комментарии к частям кода, в том числе и к тому самому блоку. Если кто знает, как его составить - отпишитесь:)

const n=5;
function prime(a:integer):boolean; //функция определяет, является ли число простым
var i,n:integer;
begin
prime:=false;
if (a<2) then exit;
if (not odd(a)) and (a<>2)
then exit;
for i:=3 to trunc(sqrt(a)) do
begin
if a mod i = 0 then exit;
inc(i,2);
end;
prime:=true;
end;

var a,b,c:array[1..n] of integer;
i,j,p,min,max:integer;

begin

for i:=1 to n do a[i]:=random(10); //заполняем массив
write('исходный массив: ');
for i:=1 to n do write(a[i]:5); //выводим массив на экран
writeln;
min:=a[1]; max:=a[1]; //ищем минимальное и максимальное значение
for i:=1 to n do
if (a[i]>max) then max:=a[i];
for i:=1 to n do
if (a[i]<min) then min:=a[i];
write('Минимальное: ',min,' Максимальное: ',max); //Выводим эти значения на экран
writeln;
for i:=1 to n do
if (prime(a[i])) or (a[i]=1) and (a[i]<>2) then //заполняем массив С простыми числами, которые (!) Входят в массив А
c[i]:=a[i];
write('Простые числа в массиве А: ');
for i:=1 to n do write(c[i]:5); //Выводим массив С на экран
writeln;

j:=min; //ВНИМАНИЕ!! Весь вопрос в этом небольшом блоке, заполнить массив В числами от min до max(которые уже найдены), не входящими в массив С
for i:=1 to n do begin
if (prime(j)) and (j<>c[i]) and (j<>2) then
b[i]:=j;
inc(j);
end;

for i:=n-1 downto 1 do begin //сортируем по возрастанию
for j:=1 to i do
if (b[j]>=b[j+1]) then begin
p:=b[i]; b[i]:=b[i+1]; b[i+1]:=p;
end;
end;
write('Искомый массив: ');
for i:=1 to n do write(b[i]:5); //Выводим массив В на экран
writeln;
end.

+ 0 -
Serenecrut
16 мая 2016 г., 22:35:30 (7 лет назад)

Просто все простые, которые больше мин. и меньше макс., независимо от того, есть они в массиве, или нет их там. Так?

+ 0 -
Fffffffffuuuuuuuu
17 мая 2016 г., 0:24:37 (7 лет назад)

DeSexAlex, там, если я правильно понимаю, написано "которые не являются элементами массива А"

+ 0 -
Nb18011989
17 мая 2016 г., 1:52:38 (7 лет назад)

DeSexAlex, посмотри, пожалуйста, если не трудно код внизу, мб поможешь условие написать нормально)

+ 0 -
Ov4enkova
17 мая 2016 г., 4:10:01 (7 лет назад)

Там написано: из простых
чисел И сегмента [min,max],которые не являются элементами массива А, Вот на этой "И" я и вхожу в ступор))

+ 0 -
Yaanaa
17 мая 2016 г., 7:09:49 (7 лет назад)

там скорее всего "из сегмента"

Ответить

Другие вопросы из категории

Какое

минимальное основание имеет система, если в ней записаны числа 124, 354, 4215?

A) Пятеричной

Задача 1. Даны следующие описания массивов:

var a,b : array [1..10] of integer;
var c : array [0..9] of integer;
var d : array [0..10] of char;
var e : array [1..10] of integer;
Какие из следующих операторов присваивания допустимы, а какие нет и почему?
1) a[10]:=b[10] 2) a[5]:=e[5] 3) c[1]:=d[1]
4)a:=b 5)d:=c 6) e[1]:=e[1] 7) с[0]:=b[0]
8) e:=a
Задача 2. Опишите переменную типа string, под которую отводится 48 байт памяти.

for i:=0 to 10 do A[i]:=i; t:=A[10]; for i:=9 downto 0 do A[i+1]:=A[i]; A[0]:=t; Чему окажутся равны элементы

этого массива после выполнения фрагмента программы?

1) 10 0 0 0 0 0 0 0 0 0 0

2) 10 2 3 4 5 6 7 8 9 10 10

3) 10 10 10 10 10 10 10 10 10 10 10

4) 10 0 1 2 3 4 5 6 7 8 9

Читайте также

Помогите написать программу в паскале. Задание:На плоскости даны 2 точки А (х1; у2) и В (х2; у2), определить какая из них находится дальше от начала коо

рдинат. Я поняла, что нужно найти их длины (формулы я знаю), а правильно написать программу не могу

Помогите написать программу по Информатике! Найти произведение двузначных нечетных чисел, кратных

13.

Нужно написать программу на цикле с предусловием, на Паскале.

Помогите написать программу на C#

Дано натуральное число n. Написать программу вычисляющую сумму

ПОМОГИТЕ НАПИСАТЬ ПРОГРАММУ В PASCAL! ПОЖАЛУЙСТА!

Дан массив X(N,M). Если первый элемент массива положительный, то найти сумму элементов среди элементов четных строк массива, иначе произведение.

Помогите написать программу в pascal


Вы находитесь на странице вопроса "Помогите написать программу в Pascal!", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.