+ Ответить в теме
Показано с 1 по 9 из 9

Тема: Помогите с программой на паскале

  1. #1
    Новичок santil кто это?
    Регистрация
    02.05.2011
    Возраст
    30
    Сообщений
    17
    Поблагодарил(а)
    8
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию Помогите с программой на паскале

    Ребята, помогите написать программку на паскале. Интересует конкретно нахождение координат. ввод и вывод данных можно не писать.
    Нажмите на изображение для увеличения
Название: 123.jpg
Просмотров: 14
Размер:	185.3 Кб
ID:	327485Нажмите на изображение для увеличения
Название: 1233.jpg
Просмотров: 14
Размер:	103.6 Кб
ID:	327486

  2. #2
    Юзер a7161 кто это?
    Регистрация
    16.11.2011
    Сообщений
    195
    Поблагодарил(а)
    57
    Получено благодарностей: 18 (сообщений: 15).

    По умолчанию

    Код:
    uses crt;
    const n = 3;
    
    type
        rec = record
            x1, x2:integer;
            y1, y2:integer;
        end;
    
    var
       coords:array[1..n] of rec;
       i:integer;
       t:rec;
    
    begin
         clrscr;
    
         coords[1].x1:= 0; coords[1].y1:= 0; coords[1].x2:= 4; coords[1].y2:= 4;
         coords[2].x1:= 1; coords[2].y1:= 1; coords[2].x2:= 5; coords[2].y2:= 5;
         coords[3].x1:= 2; coords[3].y1:= 3; coords[3].x2:= 9; coords[3].y2:= 7;
         t:= coords[1];
    
         for i:= 1 to n-1 do begin
             if (coords[i].x1 < coords[i+1].x1) and (coords[i].y1 < coords[i+1].y1) then
                if (coords[i+1].x1 > t.x1) and (coords[i+1].y1 > t.y1) then begin
                {bl_max:= i+1;}
                   t.x1:= coords[i+1].x1;
                   t.y1:= coords[i+1].y1;
                end;
    
             if (coords[i].x2 < coords[i+1].x2) and (coords[i].y2 < coords[i+1].y2) then
                if (coords[i].x2 < t.x2) and (coords[i].y2 < t.y2) then begin
                {tr_min:= i;}
                   t.x2:= coords[i].x2;
                   t.y2:= coords[i].y2;
                end;
         end;
    
         writeln('test');
         writeln(t.x1,' ',t.y1,' ',t.x2,' ',t.y2);
         readln;
    
    end.
    Примерное начало. Есть недостаток. Например для картинки из задачи неправильно посчитается верхний правый угол.
    Последний раз редактировалось a7161; 05.03.2012 в 02:18.

  3. #3
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Кода не будет, паскаль успешно мной забыт
    1) Найти минимальный и максимальный Х(тупо перебираем рекорды и сравниваем)
    2) Найти минимальный и максимальный У(так-же точно)
    Этим мы получили некую относительную координатную сетку

    3)определяем объект с наибольшим начальным Х и по пути проверяем не превышет ли он значения конечных Х других объектов(условие пересечения объектов), запоминаем это значение
    4)определяем объект с наибольшим начальным У и проверяем не превышает ли его значение конечные У других объектов(условие пересечения), запоминаем значение

    Ура, мы получили верхнюю левую точку

    5)определяем объект с наименьшим конечным х, добавляем к нему У из шага 4(верхняя правая точка)
    6)определяем объект с наименьшим конечным у, добавляем к нему Х из шага 1(нижняя левая точка)
    7)берём х из 5 и у из 6(нижняя правая точка)

    8)Оптимизируем код, смотрим какие шаги можно выполнить вместе итд итп, какие вообще выкинуть(например первые два шага могут не понадобиться)

    Как-то так

  4. #4
    Юзер a7161 кто это?
    Регистрация
    16.11.2011
    Сообщений
    195
    Поблагодарил(а)
    57
    Получено благодарностей: 18 (сообщений: 15).

    По умолчанию

    Тут еще самое интересное это:
    Ограничение по времени 1 сек.
    Ограничение по памяти 64 мб.
    Не представляю, как можно не уложиться во втором. Хотя никто же мерить не будет.

    PS: паскаль успешно вспоминается за пару минут чтения встроенной справки.

  5. #5
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Цитата Сообщение от a7161 Посмотреть сообщение
    паскаль успешно вспоминается за пару минут чтения встроенной справки.

    Оффтопик

  6. 1 пользователь сказал cпасибо Dron247 за это полезное сообщение:

    a7161 (06.03.2012)

  7. #6
    Новичок santil кто это?
    Регистрация
    02.05.2011
    Возраст
    30
    Сообщений
    17
    Поблагодарил(а)
    8
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

    Ребята, нужна ваша помощь!
    нужно задать такой массив чтобы в нём поместились такие числа:

    что-то типа такого:
    g:array [1..99999999] of longint;
    но в лонгинт не помещается 10^18. а как по-другому можно ?
    Последний раз редактировалось santil; 08.03.2012 в 17:48.

  8. #7
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    а че, как на счет вещественных типов? Задача на вывод целого числа не ограничивает тебя в типах данных, вполне покатят real, single и double

  9. #8
    Наш Чел Dron247 кто это? Аватар для Dron247
    Регистрация
    18.07.2007
    Адрес
    Братск
    Возраст
    35
    Сообщений
    298
    Поблагодарил(а)
    29
    Получено благодарностей: 37 (сообщений: 32).

    По умолчанию

    Цитата Сообщение от santil Посмотреть сообщение
    Ребята, нужна ваша помощь!
    нужно задать такой массив чтобы в нём поместились такие числа:

    что-то типа такого:
    g:array [1..99999999] of longint;
    но в лонгинт не помещается 10^18. а как по-другому можно ?
    кстати, у тебя массив только из интегеров будет 400 метров
    твой
    что-то типа такого:
    g:array [1..99999999] of longint;
    люютая жесть, не делай так, если не сделал, скажи что сделал, подскажу, за тебя писать не буду, но чё делать подскажу

  10. #9
    Новичок Жанек кто это?
    Регистрация
    14.10.2012
    Возраст
    29
    Сообщений
    4
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).

    По умолчанию

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

    1. составить блок-схему и написать программу вычисления смешанного арифметического выражения для данных в форматах real (переменные a,b), integer(остальные переменные)
    (-2*c+d*82)/tg(a/4-1)
    <br>


    2. дано вещественное число A и целое число N(>0) вывести А в степени N: АN = А*А*...*А (числа А перемножаются N раз)

    3.одномерные массивы.дан целочисленный массив А размера 10. вывести номер первого из тех его элементов &nbsp; &nbsp; А[i], которые удовлетворяют двойному неравенству : A[1]&lt;A[i]&lt;A[10]. если таких элементов нет, то вывести 0.


    4.двумерные массивы///дана матрица размера 5х10. найти минимальное значение в каждом столбце.

    помогите пожалуйста, нужно сдать завтра, буду очень благодарна, заранее спасибо вам)

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 21.08.2011, 18:35
  2. Одномерный массив в Паскале
    от integral в разделе Delphi/Pascal
    Ответов: 7
    Последнее сообщение: 20.03.2010, 17:53
  3. Ответов: 20
    Последнее сообщение: 22.11.2009, 20:03
  4. Ответов: 2
    Последнее сообщение: 15.09.2009, 12:04

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.