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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.93
Алексанндр
Сообщений: n/a
#1

инверсия - C++

05.04.2010, 23:46. Просмотров 3813. Ответов 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
# include <iostream>
using namespace std;
struct elem
{
    int value;
    struct elem *next;
};
 
void add(elem* data,int value)
{
    while (data-> next!= NULL)
    {
        data=data->next;
    }
        if(NULL==data->next)
        {
            elem* nextEl=new elem;
            nextEl->next=NULL;
        nextEl->value=value;
        data->next=nextEl;
    }
 
}
 
elem* invert(elem* first)
{
    elem *a, *b, *c;
    a=first;
    b=first->next;
    c=b->next;
    a->next=NULL;
    while (c!=NULL)
    {
        b->next=a;
        a=b;
        b=c;
        c=c->next;
    }
    b->next=a;
    return b;
}
void print(elem* data)
{
    while (data)
    {
        cout<<data->value<<endl;
        data=data->next;
    }
}
 
 
 
int main()
{
    elem data;
    data.value=7;
    data.next=NULL;
    add(&data,9);
    add(&data,10);
    add(&data, 11);
    print(&data);
    invert(&data);
    print( &data);
    system ("pause");
    return 0;
}
Добавлено через 2 часа 31 минуту
Взгляните на задачу пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2010, 23:46     инверсия
Посмотрите здесь:

Инверсия - C++
Всем привет ! как это можно реализовать ? В массиве А инвертировать те его части, которые идут по возрастанию. на входе - 3...

Инверсия - C++
Нужно написать программу, на входе (без клавиатуры) подается a b c на выходе c b a. Сможете кто нибудь написать эту прогу? Прога на C++

Инверсия в массиве - C++
Задан массив из k чисел.Определить количество инверсий в массиве(т.е. таких пар элементов,в которых большее число находиться слева от...

Инверсия строк - C++
Помогите найти ошибку,почему выводиться строки с лишними символами ? #include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Битовая инверсия - C++
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5; cout&lt;&lt;~a&lt;&lt;endl; Это же...

Инверсия бит - C++
Добрый день. Есть unsigned short int x; Нужно инверсировать все биты в x, например, если x=1001001101 (589), то нужно чтобы...

Побитовая инверсия - C++
Почему выводит 13? int y = -14; cout &lt;&lt; ~y;

Инверсия мыши - C++
Хочу написать программу на С++ для инверсии мыши. скажите как контролировать не координаты курсора на экране а именно перемещение самой...

Инверсия в массиве - C++
Составить программу, которая подсчитывает для каждого из массивов Х и Y количество инверсий в массиве, т.е. таких пар элементов, в которых...

Инверсия нужно исправить ошибку - C++
#include &lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;cmath&gt; using namespace std; int main() { setlocale( LC_ALL,&quot;Russian&quot; ); ...

Побитовые операции. Инверсия нечетных битов - C++
Дано длинное целое неотрицательное число. Получить число, инвертируя его нечетные биты.

Битовая инверсия переменной в условии цикла for - C++
Доброго времени суток. Возможно ли ещё как-то использовать/применять конструкцию с битовой инверсией итератора в условии цикла for? ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
denver
1610 / 279 / 3
Регистрация: 19.09.2009
Сообщений: 701
05.04.2010, 23:53     инверсия #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
63
64
65
66
# include <iostream>
using namespace std;
struct elem
{
int value;
struct elem *next;
};
 
void add(elem* data,int value)
{
while (data-> next!= NULL)
{
data=data->next;
}
if(NULL==data->next)
{
elem* nextEl=new elem;
nextEl->next=NULL;
nextEl->value=value;
data->next=nextEl;
}
 
}
 
elem* invert(elem* first)
{
elem *a, *b, *c;
a=first;
b=first->next;
c=b->next;
a->next=NULL;
while (c!=NULL)
{
b->next=a;
a=b;
b=c;
c=c->next;
}
b->next=a;
return b;
}
void print(elem* data)
{
while (data)
{
cout<<data->value<<endl;
data=data->next;
}
}
 
 
 
int main()
{
elem data;
data.value=7;
data.next=NULL;
add(&data,9);
add(&data,10);
add(&data, 11);
print(&data);
invert(&data);
print( &data);
system ("pause");
return 0;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru