Меню для готовой программы, как совместить CRT и GraphABC - PascalABC.NET
Формулировка задачи:
Есть готовая программа, которая берет 20 рандомных точек, из этих двадцати выбирает три так, чтобы треугольник, образованный ими, имел внутри себя максимальное возможное количество точек. Я показа преподователю, но он говорит сделай меню, чтобы точки задавалисьн е рандомно, а пользователь выбирал, как задать, самому с клавиатуры, или из файла, и если из файла пусть пользователь выбирает название файла.С выводом тоже, чтобы спросили у пользователя, сохранять в файл или нет результат. Вот программа
Однако
Для создания меню я использую модуль crt, но он вместе с GraphABC странно работает.Я набросал примерную программу меню, но при добавлении туда модуля GraphABC ничего не работает, открывается графическое окно и все ломается. Подскажите шо делать и по возможности как ввести двумерный массив x y из файла и клавиатуры. Вот набросок
у меня специфические кливиши стрелок и ентера, поэтому у себя замените 38 40 13 на соответсвующие своим
Решение задачи: «Меню для готовой программы, как совместить CRT и GraphABC»
textual
Листинг программы
var m:array[1..n] of point; imn,jmn,kmn,kv,kn,mn,w:integer; s1,s2:string; f:text;//добавить begin writeln('Выберите способ задания точек'); writeln('1-Случайно'); writeln('2-С клавиатуры'); writeln('3-Из файла'); repeat readln(w); until w in [1..3]; case w of 1:begin randomize; for var i:=1 to n do begin m[i].x:=random(xc div 5)-(xc div 10); m[i].y:=random(yc div 5)-(yc div 10); end; end; 2:begin writeln('Введите координаты ',n,' точек х от -42 до 42, y от -24 до 24'); for var i:=1 to n do begin readln(m[i].x); readln(m[i].y); end; end; 3:begin assign(f,'koord.txt'); reset(f); for var i:=1 to n do read(f,m[i].x,m[i].y); close(f); end; end; clearwindow;
Объяснение кода листинга программы
- Объявлены переменные:
- m: массив из n точек
- imn, jmn, kmn, kv, kn, mn: целочисленные переменные для обозначения координат
- s1, s2: строковые переменные
- f: текстовый файл для чтения координат из файла
- Выводится сообщение с предложением выбрать способ задания точек
- Пользователь вводит число от 1 до 3 для выбора способа задания точек
- В зависимости от выбранного способа задания точек выполняются соответствующие действия:
- Если выбран случайный способ (w = 1), то для каждой точки в массиве m случайным образом генерируются координаты
- Если выбран способ ввода с клавиатуры (w = 2), то для каждой точки в массиве m пользователю предлагается ввести координаты
- Если выбран способ чтения из файла (w = 3), то координаты точек считываются из файла koord.txt в массив m
- Очищается графическое окно GraphABC
- Выполняется основной код программы, который не представлен в данном фрагменте
- Возможно, после выполнения основного кода программы, графическое окно GraphABC обновляется с новыми точками, но этот шаг не представлен в данном фрагменте
- Код завершается, и программа ожидает действия пользователя или продолжает выполнение в зависимости от условий программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д