Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2011, 18:00   #1
1Илья1
 
Регистрация: 06.04.2011
Сообщений: 9
Печаль По с++ коментарии2

Сформировать список из натуральных чисел. В каждой группе подряд идущих равных элементов оставить только один.Программа выполняет это задание.Напишите коментарии на каком шаге что она делает:
#include<iostream.h>
#include<stdlib.h>
#include <conio.h>
struct cell {
int weight;
struct cell *next;
};
void main ()
{
clrscr();
struct cell *tmp;
struct cell *head = NULL;
struct cell *ends = NULL;
int a,b;
cout << "Vvedite chisla konec 0:\n";

do
{

tmp = new struct cell;
cin >> tmp -> weight;
if (tmp -> weight == 0)
{
delete tmp;
break;
};

if (head == NULL && ends == NULL)

head = tmp;
else
ends -> next = tmp;
ends = tmp;
ends -> next = NULL;
} while (1);
cout << "Spisok:\n";
tmp = head;
while (tmp != NULL)
{
cout <<tmp -> weight<<" ";
tmp = tmp -> next;
}
cout <<endl<< "obrabotanii spisok:"<<endl;
tmp = head;
while (tmp != NULL)
{
a = tmp -> weight;
tmp = tmp -> next;
b = tmp -> weight;
if (a != b)
cout<< a <<" ";

}

tmp = head;
while (tmp != NULL)
{
if (tmp == ends)
ends = tmp -> next;
head = tmp -> next;
delete tmp;
tmp = head;
}
getch ();
}
1Илья1 вне форума Ответить с цитированием
Старый 11.04.2011, 18:24   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем первая тема не угодила?)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.04.2011, 18:30   #3
1Илья1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

ну эта вторая задача
1Илья1 вне форума Ответить с цитированием
Старый 11.04.2011, 18:38   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сформировать список из натуральных чисел. В каждой группе подряд идущих равных элементов оставить только один.Программа выполняет это задание.Напишите коментарии на каком шаге что она делает:
(первая тема)

Цитата:
Сформировать список из натуральных чисел. В каждой группе подряд идущих равных элементов оставить только один.Программа выполняет это задание.Напишите коментарии на каком шаге что она делает:
(вторая тема)

Я один не вижу разницы?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 11.04.2011, 18:47   #5
1Илья1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

Проверить наличие в списке заданного элемента. там вот она что делала)))
1Илья1 вне форума Ответить с цитированием
Старый 12.04.2011, 19:56   #6
ololo-schoolboy
Форумчанин
 
Регистрация: 25.12.2010
Сообщений: 247
По умолчанию

все тоже что и в той задаче кроме этого
Код:
while (tmp != NULL)//проходим в цикле список от начала до конца
{
a = tmp -> weight;//кладем вес ячейки в в переменную a
tmp = tmp -> next;//передвигаемся на следующею ячейку
b = tmp -> weight;//кладем ее вес в переменную b
if (a != b)//сравниваем если они не равны
cout<< a <<" ";//отправляем на вывод

}
ololo-schoolboy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц