Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 20:15   #1
M_arisha
Пользователь
 
Регистрация: 02.12.2011
Сообщений: 24
Восклицание массив,множество

Программа в Паскале.Помогите,пожалуйста,правиль но оформить выход из программы после обнаружения первой ошибки игрока в следующем задании:

Разработать игровую программу для тренировки памяти. В ее основу положить следующее правило игры. Необходимо ввести как можно больше чисел при соблюдении следующих условий:
• числа должны быть из диапазона 0... 255;
• запрещается последовательно вводить два числа, абсолютная разность между которыми меньше 7 (например, 5 и 6, 7 и 11).
Программа должна заканчивать свою работу после обнаружения первой ошибки игрока. На печать выводить количество правильно введенных чисел.

Последний раз редактировалось M_arisha; 02.12.2011 в 20:27.
M_arisha вне форума Ответить с цитированием
Старый 02.12.2011, 20:44   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
оформить выход из программы после обнаружения первой ошибки игрока в следующем задании
хм..... а такой алгоритм не пробовали?
Код:
if некатит условие then exit;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 02.12.2011, 20:59   #3
M_arisha
Пользователь
 
Регистрация: 02.12.2011
Сообщений: 24
По умолчанию

Код:
program PR4;
Uses Crt;
type
mass=array[1..100] of byte;
var
a:mass;
n,i:byte;
begin
ClrScr;
writeln('Лабораторная работа №4');
writeln('Корзун,Тужиков,Шаблыко');
write('n= ');  readln(n); {ввод размерности массива}
writeln('Vvedite elementy massiva:');
for i:=1 to n do
begin
write('a[',i,']= ');readln(a[i]);
end;
if(a[i]<0)or(a[i]>255)then
exit;

end.
Так при вводе числа >255 выход не осуществляется..?a exit;подчеркивает..


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.12.2011 в 13:55.
M_arisha вне форума Ответить с цитированием
Старый 02.12.2011, 21:09   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

нда?
А что пишет?
и как вы думаете почему?
даю подсказку подучите циклы, гляньте алгоритмы проверки
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 02.12.2011, 21:19   #5
M_arisha
Пользователь
 
Регистрация: 02.12.2011
Сообщений: 24
По умолчанию

пишет (Warning:unreachable code)
M_arisha вне форума Ответить с цитированием
Старый 02.12.2011, 21:23   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

ну поправьте цикл! ну проверка не там у вас лежит!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 03.12.2011, 05:18   #7
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Мариш, Хакер прав - у тебя условие выхода выпало из цикла.
Но дело в том, что в этой задаче тебе совершенно не нужен массив. Все, что тебе нужно помнить - это последнее введенное число. И, соответственно, вводить n не надо. Вот, глянь сюда:
Код:
const
  d= 7;
var
  n,m,k: integer;
begin
  m:= -d-1;
  k:= -1;
  repeat
    n:= m;
    readln(m);
    inc(k)
  until (m<0) or (m>255) or (Abs(m-n)<d);
  writeln('Game over.  Your score is: ',k)
end.
Успехов тебе. Спрашивай, что неясно.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 03.12.2011, 18:56   #8
M_arisha
Пользователь
 
Регистрация: 02.12.2011
Сообщений: 24
По умолчанию

я поняла в чём дело и с выходом разобралась,но программу нужно написать использую массив или множество(предпочтительнее множество),что у меня не получается((
M_arisha вне форума Ответить с цитированием
Старый 03.12.2011, 19:06   #9
M_arisha
Пользователь
 
Регистрация: 02.12.2011
Сообщений: 24
По умолчанию

я поняла в чём дело и с выходом разобралась,но программу нужно написать использую массив или множество(предпочтительнее множество),что у меня не получается((
M_arisha вне форума Ответить с цитированием
Старый 03.12.2011, 19:19   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

ну если вы всё поняли, так переправьте свою программу!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Множество, содержащее натуральные числа из первой сотни. Сформировать новое множество из простых чисел первого множества Aimet Паскаль, Turbo Pascal, PascalABC.NET 3 16.06.2011 20:50
Дано множество А, напечатать четные элементы, входящие в другое множество (Паскаль) Марийка92 Помощь студентам 4 03.04.2011 17:38
Задано некоторое множество М и множество Т того же типа dark999 Помощь студентам 5 01.04.2011 14:17
Сформировать и напечатать множество всех четных чисел , не входящих в массив. Makcumqa Помощь студентам 1 18.03.2010 05:59