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

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

Войти
Регистрация
Восстановить пароль
 
abdasik25
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 4
#1

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

19.04.2017, 16:15. Просмотров 572. Ответов 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
struct Stack {
    int info;               // Информационная часть элемента, например, int
    Stack *next;            // Адресная часть - указатель на следующий эле-мент
} *begin;
 
Stack* zadanie(Stack *p) {
    Stack *temp = p;
    int sum = 0, num = 0;
    cout << endl;
    while (temp != NULL) {
        num++;
        sum += temp->info;
        temp = temp->next;
    }
    sum /= num;
    temp = p;
    num = 0;
    Stack *a = new Stack;
    Stack *k = new Stack;
    a->next = p;
    temp = a;
    while (temp->next != NULL) {
        if (sum > temp->next->info) {
            num++;
            k = temp->next;
            temp->next = temp->next->next;
            free (k);
        }
        if (temp->next != NULL) temp = temp->next;
    }
    cout << "Menshe sr. arifmiticheskogo vseh elementov: " << num << endl;
    return a->next;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2017, 16:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В списке определить количество элементов, имеющих значения меньше среднего значения и удалить эти элементы (C++):

В стеке определить количество элементов, имеющих значения меньше среднего и удалить эти элементы - C++
Здравствуйте. Помогите пожалуйста исправить код. Создать стек из случайных чисел и определить, сколько элементов стека имеют значения...

Определить количество элементов стека, имеющих значения меньше среднего - C++
Помогите сделать программу.Создать стек с числами в диапазоне от –50 до +50. Определить, сколько элементов стека имеют значение меньше...

Определить, сколько элементов стека имеют значения меньше среднего значения от всех элементов и удалить их - C++
Доброго времени суток! Задача: Создать стек из целых случайных чисел и определить, сколько элементов стека имеют значения меньше среднего...

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

Вывести на экран элементы и индексы элементов, которые меньше среднего значения всех элементов массива - C++
Написать программу, в которой: 1. Задать массив целых чисел длиной согласно варианту. 2. Элементы массива задать случайным образом в...

Ограничить снизу значения тех элементов массива, значения которых меньше среднего для последовательности - C++
Помогите с кодом программы на С Во всех последовательностях положительных чисел ограничить снизу значения тех элементов, значения...

2
Новичок
Модератор
1472 / 937 / 226
Регистрация: 17.07.2012
Сообщений: 4,861
Завершенные тесты: 3
19.04.2017, 16:30 #2
Цитата Сообщение от abdasik25 Посмотреть сообщение
int sum = 0
Надо не int а double
Цитата Сообщение от abdasik25 Посмотреть сообщение
Stack *a = new Stack;
Stack *k = new Stack;
Не особо понятно зачем это.
1
abdasik25
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 4
25.04.2017, 14:35  [ТС] #3
upd: Я смог.
sum - среднее арифметическое, считаю отдельной функцией
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Stack* del(Stack *s, int sum) { 
Stack *head = s; 
int l = 0; 
if (s == NULL) 
return NULL; 
Stack *a = new Stack; 
a->next = head; 
s = a; 
while (s->next != NULL) {
if (s->next->info < sum) { 
l++; 
Stack *tmp = s->next; 
s->next = s->next->next; 
delete tmp; } 
else { s = s->next; } }
printf("Srednee arifmiticheskoe: %d\nKolichestvo elementov, menshe srednego arifmiticheskogo: %d\n\n\n", sum, l);
return a->next;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2017, 14:35
Привет! Вот еще темы с ответами:

Вывести числа, имеющие значения меньше максимального и больше среднего значения всех элементов массива - C++
Задан массив целых чисел. Вывести на экран числа, имеющие значения меньше максимального и больше среднего значения всех элементов массива.

Определить количество элементов, имеющих четные значения - C++
Помогите решить бесталковому студенту, только начинаю разбираться в c+, не получается, желательно с пояснениями, буду признателен. 1)В...

В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. - C++
1. В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов. Число N и...

В массиве X определить количество элементов меньших среднего ариф*метического значения - C++
В массиве X определить количество элементов меньших среднего ариф*метического значения. Не упорядочивая массив удалить из него элемен*ты,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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