Форум программистов, компьютерный форум, киберфорум
Наши страницы

Удалить из списка элементы, для которых сумма соседних значений меньше значения самого элемента - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ООП что за ошибки? http://www.cyberforum.ru/cpp-beginners/thread378173.html
Изучаю программирование, решаю задачу из учебника Дейтелов. Нужно написать класс, реализующий множество целых чисел. Множество представлено в виде массива, k принадлежит множеству, если a=1, ну если...
C++ Помогите решить несколько задач!!!Пожалуйста Помогите решить несколько задач!!!Пожалуйста!! срочно нужно!! через cin , cout №17 For13°. Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки... http://www.cyberforum.ru/cpp-beginners/thread378171.html
Дробное число C++
Добрый день! Можно ли ввести такое деление чтоб число выводилось (хранилось) в дробном виде, перемножение в дробном виде и т.д. Думаю объяснил понятно. Пишу программу которая будет работать с...
C++ проблема с массивом
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main(){ const int n = 3; const int m = 8; int a ; int total; ...
C++ С++ глючит http://www.cyberforum.ru/cpp-beginners/thread378152.html
Когда создаеш ехе. фаил он не работает черное окно на секунду выскочит и пропадает. и еще при открытии сохраненных проэктов выскакивает вот такое окно.
C++ 2 задачки на дин. пр-е помогите. кому не сложно написать код, буду очень благодарен! если у вас есть свободная минутка, заранее спасибо вам 1.Дано число n. Какое наименьшее количество слагаемых, каждое из которых суть kая... подробнее

Показать сообщение отдельно
naska
0 / 0 / 0
Регистрация: 05.11.2011
Сообщений: 5

Удалить из списка элементы, для которых сумма соседних значений меньше значения самого элемента - C++

05.11.2011, 14:18. Просмотров 341. Ответов 0
Метки (Все метки)

пожалуйста очень прошу..помогите..не получается вообще никак..нужно исправить данную программу под builder 6...оч нужно...
Построить линейный список из нескольких динамических переменных, содер-жащих вводимые целые числа. Удалить из него те элементы, для которых не выполняется условие: сумма значений соседних элементов (двух или одного, если это первый или последний элемент списка) больше значения этого элемента. Вывести полученный список.
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
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
 
struct doulist { //Структур содержщя лиейое число, тк же ссылки предыдыдущий 
//и следующий элеметы
int d;
doulist *next,*pred;
};
 
int Input (int *x,const char *xc); //Фукция ввод целого числ, возврщет код ошибки
int Input (double *x,const char *xc); //Фукция ввод ецелого числ, возврщет код ошибки
int Input (int *x,const char *xc, int min); //Фукция ввод целого числ c условием миимум, возврщет код ошибки
int Input (double *x,const char *xc, double min); //Фукция ввод ецелого числ с условием миимум, возврщет код ошибки
int InputListElem (doulist *a, int n); //Фукция ввод лиейого списк рзмером N, возврщет код ошибки
 
void check (int *test, int *noterror); //Фукция проверки корректости ввод, с выводом иформции для пользовтеля
doulist NewList (doulist *a); //Нходит мксимльое отклоеие элеметов от средего рифметического
void freememlist (doulist *a); //Фукция освобождеия пмяти из под лиейого списк
void OutList (doulist *a);
 
int clearbuf(FILE *f){ //Фукция очистки того, что отслось во входом потоке, после еккоректого ввод
int full=0; //Перемея содержит зчеие ходилось ли что-то в буфере или ет (1-д, 0-ет) 
while (!feof(f)&&(getc(f)!='\n')) full=1; //Поочерёдо изымем символы, если оперция прошл хоть рз, то присвем зчеие 1 для full
return full;
}
 
int main() {
double max;
doulist a;
int n,error;
const char *er[3]={ //Создём мссив с иформцией об ошибкх
"\nПрогрмм был зверше без ошибок.", //Отсутствие ошибок
"\nПользовтель досрочо прервл выполеие прогрммы.", //Прогрмм звершилсь по выбору пользовтеля
"\nОшибк выделеия пмяти!" //Пмять был выделе епрвильо
};
a.pred=a.next=NULL; 
printf ("\nДя прогрм удляет элеметы е соответсвующие условию - сумм зчеий соседих элеметов больше смого элемет из лиейого списк рзмером N");
error=Input(&n,"n",1); //Вводим количество элеметов списк 
if (!error) 
error=InputListElem(&a,n);
if (!error) //Проверяем отсутствие ошибок
a=NewList(&a); //Ищем мксимльое отклоеие
if (!error) //Проверяем отсутствие ошибок
OutList(&a);
freememlist(&a);
printf ("%s",er[error]); //Выводим иформцию о произошедших ошибкх
printf ("\nДля звершеия прогрммы жмите ENTER");
getchar();
}
 
//Перегружея фукция Input
int Input(int *x,const char *xc){ //Ввод целого числ, первый ргумет - укзтель вводимое число, второй - его идетификтор
int test,er,error=0;
do {
printf ("\nВведите зчеие %s (зчеие должо быть целым) ",xc); //Выводим экр иформцию о вводе
er=scanf("%i",x)==0; //Проверяем корректость ввод
er=clearbuf(stdin)||er!=0; //Чистим входой поток и проверяем, ет ли тм лиших символов 
test=1;
if (er) check(&error,&test); //Обрбтывем случй с еккоретым вводом
}
while (test==0); //В случе еккоректого ввод и желия пользовтелем продолжить - повторяем
return error;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru