Форум программистов, компьютерный форум CyberForum.ru

Очередь в списках - C++

Восстановить пароль Регистрация
 
Novikusha
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 3
12.04.2010, 21:52     Очередь в списках #1
нужно в данную очередь вставить структуру. структуру-то я написала, а дальше не могу разобраться, подскажите, что делать, пожалуйста!

Добавлено через 1 минуту
Структура
C++
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
75
76
77
78
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include "locale.h"
 
int _tmain(int argc, _TCHAR* argv[])
{   
    setlocale (LC_ALL, "Russian");  
    {
        char name[10];
        int numb;
        float t;
    };  
        struct TRAIN a[4];
        int i, k, f;
        char zn[10];
        for (i=1; i<=4; i++) 
        {
            printf("Введите пункт назначения номер %d", i); //заполнение структуры
            printf("\n");
            scanf ("%s", &a[i].name);
            printf("Введите номер - %d поезда", i);
            printf("\n");
            scanf ("%d", &a[i].numb);
            printf("Введите время отправления, минуту отделите запятой");
            printf("\n");
            scanf ("%f", &a[i].t);
        }
    for (k=1; k<=4-1; k++) //cортировка
    {
        for (i=1; i<=4-k; i++)
        {
            if (a[i].t>a[i+1].t)
            {
                a[0]=a[i];
                a[i]=a[i+1];
                a[i+1]=a[0];
            }
        }
    }
            
    printf("\n");
    printf("\n");
    printf("Назначение номер время отправления");
    printf("\n");
    printf("\n");
    for (i=1; i<=4; i++) //вывод структуры
        {
            printf("%s       %d        %2.2f", a[i].name, a[i].numb, a[i].t);
            printf("\n");
                    
        }
    printf("\n");
    printf("____________________________________________");
    printf("\n");
    printf("Введите пункт назначения");
    printf("\n");
    scanf("%s", &zn);
    k=0;
    for (i=1; i<=4; i++) //вывод поездов с нужным пунктом назначения
    {
        f=strcmp(a[i].name, zn);
        if (f==0)
        {
            k=k+1;
            printf("%s     %d      %2.2f", a[i].name, a[i].numb, a[i].t);
            printf("\n");
        }
    }
    if (k==0) 
        printf("Таких поездов нет!");
        getch();
        return 0;
}

Добавлено через 2 минуты
Очередь
C++
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
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#define QUEUE struct queue
QUEUE
{  int info;
    QUEUE *next;
 };
 
extern void insert(QUEUE **q, int item);
extern int take_out(QUEUE **q, int *error);
 
void insert(QUEUE **q, int item)
{
     QUEUE *current = *q;
     QUEUE *previous = 0;
     QUEUE *new_node;
 while ( current)
 {
    previous = current;
    current = current -> next;
  }
  new_node = ( QUEUE * ) malloc( sizeof( QUEUE) );
  new_node -> info = item;
  if (previous )
  {new_node -> next = previous -> next;
    previous -> next = new_node;
  }
  else
  {
    *q = new_node;
    (*q) -> next = 0;
  }
 }
 int take_out(QUEUE  **q, int *error )
 {
  int value = 0;
  QUEUE *old_header = *q;
  if (*q)
    { value = old_header -> info;
        *q = (*q) -> next;
        free( old_header );
        *error = 0;
     }
    else
        *error = 1;
  return value;
 }
void main()
{
 int error;
 QUEUE *q1=0, *q2=0;
 insert(&q1, 12);
 insert(&q1, 13);
 insert(&q1, 14);
 insert(&q2, take_out( &q1, &error ));
 insert(&q2, take_out( &q1, &error ));
 insert(&q2, take_out( &q1, &error ));
 printf("\nremove( &q2 ) = %d", take_out(&q2, &error));
 printf("\nremove( &q2 ) = %d", take_out(&q2, &error));
 printf("\nremove( &q2 ) = %d", take_out(&q2, &error));
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2010, 21:52     Очередь в списках
Посмотрите здесь:

Конструкторы в списках и конфликт имён. C++
C++ Литература о Связаные списках
C++ Немного о списках
Задача на очередь (вывод сообщения, что очередь пуста) C++
C++ Ошибка в списках
C++ Ошибка в списках
Очередь, теория. Очередь на шести стеках C++
Освобождение памяти в списках C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
12.04.2010, 21:57     Очередь в списках #2
если некоторые данные идентичный то можете сразу и структуры переганять их в очередь.
или сделать так :
C
1
2
3
4
5
struct Query
{
struct train tr;
// elems  // 
};
Yandex
Объявления
12.04.2010, 21:57     Очередь в списках
Ответ Создать тему
Опции темы

Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru