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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2011, 22:47   #1
OrdeR
 
Регистрация: 29.11.2010
Сообщений: 5
По умолчанию

Добрый день. Есть одно задание, и как бы представляю, как надо делать, но не получается реализовать. =(

3 файла: cd_maina.cpp, cd_maina.in, cd_maina.out

Идёт покупка/продажа CD дисков. Файл cd_maina.in, содержит информацию:
<время> <действие> <персональный код> <CD>

<время> - момент времени, целое число [1..1’000’000’000]
<действие> - буква "A" запрос (Ask) или буква "B" предложение (Bid).
<персональный код> - [0..99’999’999’999], пример, 01234567890).
<CD> - название, не больше 50 символов [a..z, A..Z, 0..9].

cd_maina.out = <время> <персональный код "A"> <персональный код "B">

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

Если CD запроса или предложения совпадаeт с противоположным, то выводим это и удаляем из cd_maina.in, если же нету таких, то выводим 0.
пример:
cd_maina.in:

10 B 01010112345 ABBA
15 A 02020213456 U2
16 A 03030314567 4you
17 B 02020213456 ABBA
20 B 04040415678 4you
127 B 04040415678 HipHop2011
1234 A 05050516789 ABBA

cd_maina.out:

20 03030314567 04040415678
1234 05050516789 01010112345

Мой вариант: записать информацию из 1-ой строки в структуру, потом последующие строки сравнивать с имеющимися в структуре, если совпадают по СД и противоположны по действию, то выводим в cd_maina.out и стираем из структуры.

вот я пробовал что-то, но там ошибка =(
Код:
struct elem{
       string laiks, darbiba, kods, cd;
       elem *next;}
       
       void add(elem*&first, elem*&last, string a, string k, string c, string d){
            elem *p=new elem;
            p->laiks=a;
            p->darbiba=k;
            p->kods=c;
            p->cd=d;
            p->next=NULL;
            if (first == NULL) first = p;
            else last->next = p;
            last = p;
            }

void delete_list (elem*&first)
{
    elem *p = first;
    while (p!=NULL)
    {
        first = first->next;
        delete p;
        p = first;
    };
}
              

int main ()
{
    elem *first=NULL, *last=NULL, *p;
    ifstream in("cd_maina.in");
    ofstream out("cd_maina.out");
    string laiks, darbiba, kods, cd;
    in>>laiks;
    in>>darbiba;
    in>>kods;
    in>>cd;
    add(first, last, laiks, darbiba, kods, cd);
    delete_list (first);
    return 0;
    }

Последний раз редактировалось OrdeR; 19.06.2011 в 13:30.
OrdeR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по динамическим структурам данных bizzycv Общие вопросы Delphi 1 14.04.2011 19:32
задача по Файлам zzzarazzza Паскаль, Turbo Pascal, PascalABC.NET 3 13.02.2011 23:39
Задача по Файлам на Си++ Клеом Помощь студентам 2 15.12.2009 12:47
Задача по файлам нужна помощь! RomT24 Помощь студентам 4 15.06.2009 21:30
Visual Studio - Задача по структурам(Списки) opsi Помощь студентам 1 01.06.2009 10:04