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

Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить среднее арифметическое оценок каждого студента и загрузить ответ в 3 файл http://www.cyberforum.ru/cpp-beginners/thread1102753.html
Есть 1 файл в нем написаны фамилии 3 студентов, есть 2 файл в нем написаны названия предметов.. Надо написать код (срр файл) высчитать среднее орифметическое оценок каждого студента и загрузить ответ в 3 файл, и высчитать среднее арифметическое по предметам и загрузить в 4 файл.
C++ Выскакивает ошибка при попытке запуска построенного проекта проблема в том,что начал писать,компилировать-компилирует,а вот с запуском какие-то проблему,постоянно выбивает ошибку с текстом: C\\maks\desktop\....\'имя проекта' не является внутренней или внешней командой,исполняемой программой или пакетным файлом а в списке ошибок выбивается ошибка : error LINK1123 сбой при преобразовании в COFF: файл недопустим или поврежден я думал,что проблема в... http://www.cyberforum.ru/cpp-beginners/thread1102741.html
Какова временная сложность метода ветвей и границ, и генетического алгоритма, которые решают задачу о рюкзаке? C++
Всем привет!Не подскажете какова временная сложность метода ветвей и границ,и генетического алгоритма,которые решают задачу о рюкзаке? и как ее вычисляют?
Сумма элементов массива, расположенных после первого положительного элемента C++
Помогите доделать последний пункт задачи, пожалуйста! Работаю в Visual Studio 2005, так уж заставили.. В интернете искал, но что-то более-менее не нашел... Задание: В одномерном массиве из N вещественных элементов, вычислить: • номер максимального по модулю элемента массива; • сумму элементов массива, расположенных после первого положительного элемента. Преобразовать массив таким ...
C++ Алгоритм Эвклида, как возвратиться к шагу 2 http://www.cyberforum.ru/cpp-beginners/thread1102725.html
int lab2() { int a=0,b=0,n=0,q=0; do{cout << "Введите первое неотрицательное число: "; cin >> a;}while(a<0); do{cout << "Введите второе неотрицательное число: "; cin >> b;}while(b<0); do{cout << "Введите моудуль: "; cin >> n;}while(n==0); int u1=0,u2=1,u3=n; //Вектор (u1,u2,u3) int v1=1,v2=0,v3=a; ...
C++ Определение всех простых путей в ориентированном графе Здравствуйте, уважаемые форумчане! Работаю над одним заданием, но пока не очень получается. Оно сформулировано следующим образом: определить все простые пути в ориентированном графе, представленном матрицей инцидентности. С алгоритмом что-то не так. Заранее спасибо за помощь! Вот мой код: подробнее

Показать сообщение отдельно
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
22.02.2014, 16:03     Добавление элемента в линейный список после 1-го, 3-го, 5-го и т.д
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
 
using namespace std;
 
void clear(List* &top){
    if (!top){
        return;
    }
    List* p = 0;
    while (top){
        p = top;
        top = top ->next;
        delete [] p->info;
        delete p;
    }
    top = 0;
}
void Destroy(List*& top){
    clear(top);
}
 
char* getAt(List* top, int i){
    int size = getSize(top);
    if (i >= size || i < 0 ){
        throw ListError();
    }   
    if (i == 0){        
        return top->info;
    }
 
    List* p1 = top;
    for(int j = 0; j < i; j++){
        p1 = p1->next;
    }
    return p1->info;
}
void insAt(List*& top, int i, char* str){
    int size = getSize(top);
    if (i > size || i < 0 ){
        throw ListError();
    }
 
    List* p = 0;
    try{
        p = new List;
        p->info = new char[(int)strlen(str)+1];
        strcpy_s(p ->info, (int)strlen(str)+1,str);//êîïèðîâГ*Г*ГЁГҐ Гў ГЁГ*Гґ Г·Г*Г±ГІГј
    }
    catch (bad_alloc e){
        delete p;
        throw;
    }
    if(i == 0){
        p->next = top;
        top = p; 
    }
    else{
        List * p1 = 0;
        p1 = top;
        for(int j = 0; j < i-1; j++){           
            p1 = p1 ->next;
        }
        p ->next = p1->next;
        p1->next = p;       
    }
}
void delAt(List*& top, int i){
    int size = getSize(top);
    if (i >= size || i < 0 ){
        throw ListError();
    }
    List* p1 = 0;
    List* p2 = 0;
    if (i == 0){
        p1 = top;
        top = top->next;
        delete [] p1->info;
        delete p1;
        return;
    }
    
    p1 = top;
    for(int j = 0; j < i-1; j++){
        p1 = p1->next;
    }
    p2 = p1->next;
    p1->next = p2->next;
    delete[] p2->info;
    delete p2;
}
 
int getSize(List* top){
    int size = 0;   
    while(top){     
        top = top->next;
        size++;
    }
    return size;
}
 
void L1_print(List* top){
    List* p = top;
    while (p){
        cout << p->info << endl;
        p = p->next;
    }
}
}
 
Текущее время: 05:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru