Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 8

Нужна небольшая помощь с нажатием клавиши

26.02.2012, 18:10. Показов 830. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,на лабе сказали напечатать программу:
Вводишь 10ть чисел,программа ищет 3 минимальных.далее жмем на клавишу 1,в новом окне выводится первое минимальное число,на клавишу 2 - в новом окне - второе,тоже самое и с клавишей 3.
Часть кода:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
metka:
                                  begin
                                  j:=readkey;
                                  if j=#49 then begin
                                  Randomize;
                                  m:=random(80);
                                  n:=random(25);
                                  h:=random(80);
                                  p:=random(25);  clrscr;
                                  Textbackground (6);Textcolor(1);Window (1+m,1+n,1+h,1+p );
                                  CLRSCR;GotoXY (1,1); writeln (min1); end
                                 else goto metka;
Дело в том,что если я вводил в массив уже число 1,2 или 3,то он не ждет моего нажатия,а сразу выполняет операцию...
Как сделать так,что бы он как-то обнулил значение j и ждал,пока я нажму клавишу?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2012, 18:10
Ответы с готовыми решениями:

Одномерный символьный массив.Код готов нужна небольшая перемена.
program bb; uses crt; var inp, outp : text; mnog1 : set of char; st : string; Kolvosl, max, n, Msl, i : integer; ...

Нужна небольшая помощь начинающему
вот код с учебника на проверку является ли число простым.Но я не могу понять откуда берется переменная n ? до какого значения проверяется...

Двумерный массив, нужна небольшая помощь
Доброго времени суток. Вопрос следующий есть функция которая выводит на экран такой двумерый массив: Сам алгоритм выглядит...

5
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.02.2012, 19:04
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
uses crt;
var i,a,b,c:integer;
    mn:array[1..3] of integer;
    s:char;
begin
writeln('Введите 5 целых чисел:');
read(a);
read(b);
read(c);
if a<b then mn[1]:=a else mn[1]:=b;
if c<mn[1] then mn[1]:=c;
if a>b then mn[3]:=a else mn[3]:=b;
if c>mn[3] then mn[3]:=c;
mn[2]:=a+b+c-mn[1]-mn[3];
for i:=4 to 5 do
 begin
  readln(a);
  if a<mn[1] then
   begin
    mn[3]:=mn[2];
    mn[2]:=mn[1];
    mn[1]:=a;
   end
  else if a<mn[2] then
   begin
    mn[3]:=mn[2];
    mn[2]:=a;
   end
  else if mn[3]<a then mn[3]:=a;
 end;
clrscr;
writeln('Для вывода результата последовательно нажмите клавиши 1 2 3:');
for i:=1 to 3 do
 begin
  read(s);
  case s of
  '1':begin
      window(5,10,10,15);
      textbackground(7);
      textcolor(1);
      clrscr;
      write(mn[i]);
      window(1,1,40,5);
      textbackground(15);
      textcolor(0);
      gotoXY(5,2);
      end;
  '2':begin
      window(15,10,20,15);
      textbackground(2);
      textcolor(14);
      clrscr;
      write(mn[i]);
      window(1,1,40,5);
      textbackground(15);
      textcolor(0);
      gotoXY(10,2);
      end;
  '3':begin
      window(25,10,30,15);
      textbackground(4);
      textcolor(10);
      clrscr;
      write(mn[i]);
      end;
   end;
 end;
end.
0
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 8
26.02.2012, 19:30  [ТС]
Puporev,спасибо конечно за программу,но мне надо именно на нажатие клавиши выводить окна,а не вводить,а потом выводить.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.02.2012, 19:42
Цитата Сообщение от Sobes Посмотреть сообщение
,но мне надо именно на нажатие клавиши выводить окна,а не вводить
И чем нажатие клавиши отличается от ввода? А вывода никакого и нет.
А в АВС вообще часты всякие глюки с Crt, в том числе с readkey. У меня например стрелку влево читает как вправо, а левую вправо. Задача чисто для Турбо Паскаля.
0
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 8
26.02.2012, 19:50  [ТС]
да,у меня со стрелками такая же беда...
думал может клава какая китайская...
придраться могут...что скорее всего и сделают...

Добавлено через 3 минуты
тогда когда прогу буду показывать спецом не буду вводить 1,2,3 в массив,что бы все норм было...
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.02.2012, 19:52
Цитата Сообщение от Sobes Посмотреть сообщение
придраться могут...что скорее всего и сделают...
А пусть не сдирают задачи со старых задачников для Турбо Паскаля, а пишут свои, предварительно убедившись что они работают.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2012, 19:52
Помогаю со студенческими работами здесь

Нужна Небольшая Помощь! поддержите на конкурсе!
Здраствуйте форумчане!Нужно небольшая помощь!Я участвую в конкурсе, вышел в финал ...

Убить процесс нажатием клавиши
Помогите, пожалуйста, реализовать программу, которая запускается и ждет нажатия комбинации клавиш. То есть, например, я нахожусь в игре,...

Убить процесс нажатием клавиши
Помогите, пожалуйста, реализовать программу, которая запускается и ждет нажатия комбинации клавиш. То есть, например, я нахожусь в игре,...

Остановка программы нажатием клавиши
Как сделать так чтобы движение фигуры останавливалось после нажатия какой-нибудь клавиши? SCREEN 12 FOR x = 1 TO 500 LOCATE 14,...

Вызов функции нажатием клавиши
покажите пример вызова функции при нажатии определенной клавиши например escape (консольное приложение )


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru