Другие языки программирования и технологии

Решение задачи (Паскаль)

Несколько школьников выстроились в шеренгу. Для каждого школьника известен день его рождения. Требуется определить номер второго из школьников, дни рождения которых являются простыми числами; с использованием массивов (с использованием цикл-пока цикл-для)
nephalim, простые числа могут быть только целыми. Более того, простыми считаются только натуральные. А вы говорите о действительных.
Уберите предметную область из задачи, которая сюда притянута за уши, и всё станет намного яснее:
Дан массив натуральных чисел, не превышающих 31. Найти порядковый номер второго по счёту простого числа в массиве.

{$R-}
program N98285012;
const
   k: byte = 0;
type
   TArray = array[1 .. 1] of byte;
var
   Days: ^TArray;
   N, i, Prime: byte;
begin
   randomize;
   N := random(196) + 5;
   GetMem(Days, N * sizeof(byte));
   writeln('Дни рождения шеренги из ', N, ' школьников:');
   for i := 1 to N do
   begin
      Days^[і] := random(31) + 1;
      write(Days^[і]:4)
   end;
   writeln;
   i := 0;
   while (k < 2) and (i < N) do
   begin
      inc(i);
      Prime := 2;
      while (sqr(Prime) 0) do
         inc(Prime, 1 + ord(Prime > 2));
      if (Days^[і] > 1) and (Days^[і] mod Prime > 0) then
         inc(k)
   end;
   if k < 2 then
      writeln('Нет двух школьников, у которых день рождения простое число.')
   else
      writeln('Номер второго школьника, чей день рождения простое число: ', i);
   readln;
   FreeMem(Days, N * sizeof(byte))
end.

Иван Антропов
Иван Антропов
51 590
Лучший ответ
"дни рождения которых являются простыми числами" - мда, тоесть Вы хотите сказать что надо найти школьника который родился 6,804 декабря? Ужас...
Ulan Zhakabaev
Ulan Zhakabaev
6 654