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

Обработка списков - C++

Восстановить пароль Регистрация
 
Ильгар
 Аватар для Ильгар
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 8
24.06.2014, 14:33     Обработка списков #1
Помогите защитить учебную практику. Заранее спасибо
Вложение 414279

Вложение 414280

Вложение 414281

Вложение 414282

Вложение 414283
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ильгар
 Аватар для Ильгар
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 8
24.06.2014, 14:34  [ТС]     Обработка списков #2
Не могу понять как сделать блок-схему и где ошибки в программе
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
24.06.2014, 14:43     Обработка списков #3
Ильгар, выложите пожалуйста все это кодом, текстом. Иначе вам мало того не помогут, но еще вы и нарушаете правило форума 5.18.
Ильгар
 Аватар для Ильгар
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 8
24.06.2014, 23:42  [ТС]     Обработка списков #4
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
79
80
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
struct el_sp            // Тип элемента списка           
{ 
    char id[8];         // Значение элемента (идентификатор)  
    struct el_sp *uk;   // Указатель следующего элемента 
};
 
//Функция включения очередного элемента в список(соблюдая лексографический порядок)
void Include(struct el_sp **p, char t_id[])//*p-указатель списка в лексограф порядке 
{                                          //t_id-идентификатор включаемого элемента
    struct el_sp *pt,*k,*m; //pt-указатель включаемого элемента 
                            //k,m-указатели очередного и предыдущего элем списка
    //Выделение памяти для нового элемента списка
    pt=(struct el_sp *) malloc(sizeof(struct el_sp));
    strcpy(pt->id,t_id);
    if (*p==NULL || strcmp(pt->id,(*p)->id)<0)
    {   //включение идентификатора в начало списка
        pt->uk=*p; *p=pt;
    }
    else
    {//поиск элемента после которого нужно включить идентификатор
        k=*p;
        while (k!=NULL && strcmp(pt->id,k->id)>=0)
        { m=k; k=k->uk;}
        //включение элемента *pt после *j
        m->uk=pt; pt->uk=k;
    }
}
 
 
//Функция удаления k элементов из списока
void Delete(struct el_sp **p, int n)//*p-указатель списка в лексограф порядке 
{
    struct el_sp *k,*m; //k,m-указатели очередного и предыдущего элем списка                    
    k=*p;//встаем в начало списка
    int i=0;//кол пройденных элементов списка
 
    while (k->uk!=NULL && i<=n)
    { 
        m=k; 
        k=k->uk;
        i++;
    }
    //удаление k элементов
    if (n<i)
        *p=k;
    else
        *p=NULL;
}
 
//Функция печати списка
void PrintList(struct el_sp *p) //p-указатель начала списка
{
    struct el_sp *i; //указатель текущего элемента списка
    printf("\nResult:\n");
    for(i=p;i!=NULL;i=i->uk)
        puts(i->id);
}
 
 
int main()
{ 
    struct el_sp *p;        // Указатель списка 
    char   nov_id[8];       //  Новый идентификатор
 
    //Создание списка
    p = NULL; 
    printf("Vvedite identifikatori, dlya zavershenia najmite ENTER\n");
    do
    {
        gets(nov_id);
        Include(&p,nov_id);//Включение нового элемента в список
    }
    while (strlen(nov_id)!=0);
    
    int n=0;
    printf("Vvedite kol-vo elementov dlya udaleniya\n");
    scanf("%d",&n);
    //печать списка
    Delete(&p,n);
    PrintList(p);
 
    printf("\nPress any key to EXIT\n");
    getch();
    return 0;
}
Преподаватель сказала что тут нет счетчика коэффициента. Помогите плиз
Yandex
Объявления
24.06.2014, 23:42     Обработка списков
Ответ Создать тему
Опции темы

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