Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <conio.h>
- #include <iomanip>
- #include <iostream>
- #include <stdio.h>
- #include <time.h>
- #include <string>
- #include <Windows.h>
- #include <math.h>
- #include <fstream>
- using namespace std;
- ifstream fin;
- ofstream fout;
- struct rec {
- string marka;
- string nomer;
- string fio;
- };
- struct sfio {
- string fio;
- sfio *next;
- };
- struct spis {
- string marka;
- sfio *first;
- sfio *last;
- spis *next;
- };
- int main() {
- setlocale(LC_ALL,"RUSSIAN");
- spis *first = NULL;
- spis *current = NULL;
- spis *last = NULL;
- sfio *rfio = NULL;
- fin.open("in.txt");
- while (!fin.eof()){
- rec *p = new rec;
- fin >> p->marka;
- fin >> p->nomer;
- fin >> p->fio;
- current = first;
- while(current)
- {
- if (current->marka == p->marka) {
- break;
- }
- last = current;
- current = current->next;
- }
- if (!first) {
- current = new spis;
- current->marka = p->marka;
- current->first = NULL;
- first = current;
- } else if (last && !current) {
- current = new spis;
- current->marka = p->marka;
- current->first = NULL;
- last->next = current;
- }
- rfio = new sfio;
- rfio->fio = p->fio;
- if (!current->first){
- current->first = rfio;
- current->last = rfio;
- }
- else {
- current->last->next = rfio;
- current->last = rfio;
- }
- }
- fin.close();
- fout.open("out.txt");
- // печатаем список
- current = first;
- while (current)
- {
- fout << current->marka<<endl;
- rfio = current->first;
- while(rfio) {
- fout << " "<< rfio->fio<<endl;
- rfio = rfio->next;
- }
- current = current->next;
- }
- fout.clear();
- system ("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement