IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Что не так с Halt?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Программа завершается при использовании halt, ПОМОГИТЕ ИСПРАВИТЬ ОШИБКУ
Код
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.

И 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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.09.2025 13:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name