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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение даты и данных из XML файла http://www.cyberforum.ru/cpp-beginners/thread1215887.html
Всем ДД! Есть xml-файл: (тут приведу кусок xml, т.к. файл большой. но там однотипные события ) Код C++ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <grafik> <Circle> <CircleNumber>123</CircleNumber> <Event> <ActivityType>power</ActivityType> <ActivityStartTime>2003-02-12T12:12:12.000Z</ActivityStartTime>
C++ Подсчитать количество предложений во введенном тексте Здравствуйте! Необходимо составить программу, которая сможет подсчитать количество предложений во введенном тексте на языке с++. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1215881.html
C++ Заменить все трехзначные элементы массива на 100
помогите пожалуйста, написал код и запутался, так или нет. Условие: Заполнить одномерный массив А случайными целыми числами от –1000 до +1000 и заменить все трехзначные элементы на 100. Размер массива n вводится с клавиатуры, но n<30. #include <iostream.h> #include <stdlib.h> #include <time.h> #include <conio.h> int main()
Класс вектор на основе класса Complex. Найти угол между векторами C++
класс вектор на основе класса комплекс найти кут между векторами...
C++ Шахматная фигура конь http://www.cyberforum.ru/cpp-beginners/thread1215855.html
Шахматная фигура конь ходит на 1 клетку по горизонтали и на 2 клетки по вертикали или наоборот на 2 клетки по горизонтали и на 1 по вертикали.Конь начинает свой путь с нижнего левого угла и двигаеться по доске n x n клеток.Определить количество способов которыми конь может дойти до правого верхнего угла доски за k шагов.
C++ Оптимальный маршрут почтальона Найти оптимальный маршрут почтальона на ориентированном графе, который задается количеством вершин, ребер и матрицей инцедентности. Определить зависимость длины маршрута от начального пункта маршрута, если почтальон проходит все пути и возвращается в исходный пункт. подробнее

Показать сообщение отдельно
Ильгар
 Аватар для Ильгар
0 / 0 / 0
Регистрация: 16.01.2014
Сообщений: 8
24.06.2014, 23:42  [ТС]     Обработка списков
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;
}
Преподаватель сказала что тут нет счетчика коэффициента. Помогите плиз
 
Текущее время: 13:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru