Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Куплю статус. Не б/у.
 Аватар для Vadimz
36 / 26 / 1
Регистрация: 26.08.2008
Сообщений: 339

Алгоритм на строки

19.04.2011, 17:42. Показов 1019. Ответов 0

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Прошу помочь найти ошибку в программе, решающей следующую задачу:
«Есть некая камера, снимающая въезд на мост. Периодически в поле зрения камеры проезжают машины, у которых камера записывает номер и время, в которое машина проехала. Будем считать, что если номер машины встречается в базе данных нечетный раз, то машина въехала на мост, а если четный, то машина вернулась обратно. В связи с проверкой работы камеры, необходимо узнать, сколько машин в определенный момент времени въехали на мост, но не вернулись. Если в этот момент машина въехала на мост/съехала с него, то нужно считать, что она еще не вернулась».
Формат входных данных: В первой строке вводятся числа N и m (N, m < 100). Затем в N строках задаются время и номер машины. Потом в m строках вводятся моменты времени, для которых нужно вывести номера машин, не вернувшихся обратно.
Пример:
[IN]
5 3
00:01:00 A100BB
00:02:00 B340CA
00:02:00 A100BB
04:00:01 T233AA
23:00:00 T445XA
00:00:59
00:02:00
05:00:00
[OUT]
0
B340CA A100BB
T233AA

Собственно, сам код программы:
Delphi
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
69
70
71
72
73
74
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
const
    nmax = 100;
type
    list = record
    name: string;
    login: string;
    escape: string;
    end;
 
var
    n, m, num, num1, i, j, res: integer;
    q: boolean;
    s, res_str, nameIN, timeX: string;
    mas: array[1..nmax] of list;
    check:array[1..nmax] of string;
 
begin
    readln(n, m);
    num := 1;
    q := False;
    res := 0;
    for i := 1 to n do
        begin
            readln(s);
            timeX := copy(s, 1, 8);
            nameIN := copy(s, 10, length(s) - 9);
            for j := num downto 1 do
                begin
                        if (mas[j].name = nameIN) and (mas[j].escape <> '') then
                        begin
                            q := False;
                            break;
                        end;
                        if mas[j].name = nameIN then
                        begin
                            q := True;
                            break;
                        end;
                end;
            if q = False then
                mas[num].name := nameIN;
            if q = False then
                mas[num].login := timeX
            else
                mas[j].escape := timeX;
            if q = False then
                inc(num);
            q := False;
        end;
    dec(num);
    for i := 1 to num do
        if mas[i].escape = '' then
            mas[i].escape := '99:00:00';
    num1 := 1;
    for i := 1 to m do
        begin
                readln(timeX);
            check[num1] := timeX;
                for j:=1 to num do
                    if (check[num1] <= mas[j].escape) and (check[num1] >= mas[j].login) and (pos(mas[j].name + ' ', res_str) = 0) then
                    begin
                        inc(res);
                        res_str := res_str + mas[j].name + ' ';
                    end;
            writeln(res, ' ', res_str);
                res := 0;
                res_str := '';
                inc(num1);
        end;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.04.2011, 17:42
Ответы с готовыми решениями:

Составить алгоритм формирования строки S, содержащей максимальные элементы каждой строки заданной матрицы
Задана матрица М размерностью (N*K). Составить алгоритм формирования строки S, содержащей максимальные элементы каждой строки заданной...

Разработать алгоритм и программу для разбиения текста на строки (как признак конца строки в тексте использовать символ @)
Разработать алгоритм и программу для разбиения текста на строки (как признак конца строки в тексте использовать символ @). помогите для...

Алгоритм обработки строки
Здраствуйте, делаю скриптовой интерпритатор. Есть строка вида: dа Loadka. Нужно получить Слово Lodka - причем dа - всегда есть в строке. А...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.04.2011, 17:42
Помогаю со студенческими работами здесь

Алгоритм преобразования строки
Как заменить маленькую букву на большую после точки? (После конца предложения)? подскажите пожалуйста код.

Алгоритм преобразования строки
Добрый день! Прилагаю асм-функцию, которая работает со строкой, содержащей e-mail или его часть и каким-то образом его преобразует, мне...

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

Алгоритм парсинга строки
Здравствуйте. Имеются строки вида st = &quot;{{ #Type #SObject #Subtype #Cookie #Width 503 #Height 392 #PsevdoSpace #DeviceNum...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru