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

часть программы есть нужно завершить - C++

Восстановить пароль Регистрация
 
юлия ефремова
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 3
28.12.2010, 09:09     часть программы есть нужно завершить #1
С клавиатуры вводятся N целых чисел (для их хранения использовать двусвязный список). Вывести элементы списка, расположенные между максимальным и мини-мальным элементами.
часть программы есть нужно завершить
#include <stdio.h>
#include <stdlib.h>

struct Item {
struct Item *next;
struct Item *prev;
int data;
};
struct Item * InsertBefore (struct Item ** h, struct Item * b) {
struct Item * n = (struct Item *) malloc (sizeof (struct Item));
if (n != 0) {
if (*h == 0) {
n -> next = n -> prev = 0;
*h = n;
} else {
n -> next = b;
n -> prev = b -> prev;
if (b -> prev != 0) {
b -> prev -> next = n;
}
b -> prev = n;
if (n -> prev == 0){
*h = n;
}
}
}
return n;
}
struct Item * InsertAfter (struct Item **h, struct Item *b){
struct Item * n = (struct Item * ) malloc (sizeof (struct Item));
if (* h != 0) {
n -> next = n -> prev = 0;
*h = n;
} else {
n -> next = b -> next;
n -> prev = b;
if (b -> next != 0)
b -> next -> prev = n;
b -> next = n;
}
return n;
}


void DeleteItem (struct Item **h, struct Item *b) {
if (b -> next != 0)
b -> next -> prev = b -> prev;
if (b -> prev != 0)
b -> prev -> next = b -> next;
if (b -> prev == 0)
*h = b -> next;
free (b);
}

void ClearList (struct Item **h) {
while (*h != 0)
DeleteItem (h, *h);
}





int check (int N){
struct Item * Head = 0, * i1, * i2;
int r=0;
while (N>0){
i1 = InsertBefore (&Head, Head);
i1 -> data = N%10;
N = N/10;
}
i1 = Head;
while (i1 != 0 && r == 0){
i2 = i1 -> next;
while (i2 != 0 && r == 0) {
if (i1 -> data == i2 -> data)
r = 1;
i2 = i2 -> next;
}
i1 = i1 -> next;
}
ClearList(& Head);
return r;
}
void main () {
int N;
scanf ("%d",&N);

if (check(N)) printf("yes");
else printf("no");


}

Добавлено через 6 часов 9 минут
помогите,нужно срочно...((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 09:09     часть программы есть нужно завершить
Посмотрите здесь:

C++ Есть текст программы по C++ нужно его переделать
C++ часть программы..
есть код и есть ошибка нужно найти дырку C++
C++ Нужно вынести часть программы в отдельный модуль
C++ Алгоритм Дейкстры (часть кода есть)
C++ Завершить разработку программы (дописать функции)
C++ Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
Какие действия исполняет заданная часть программы? Если есть ошибки исправить их и объяснить исправления C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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