Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.09.2021
Сообщений: 18

Ошибка Сегментации

20.04.2022, 22:07. Показов 1006. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане! Никак не могу понять, где закралась ошибка. Решал такую задачу: https://codeforces.com/problemset/problem/160/A
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
#include <stdio.h>
#include <stdlib.h>
 
struct Node {
    int data;
    struct Node *next;
};
 
int sum(struct Node *ptr) {
    int s = 0;
    while(ptr != NULL) {
        s = s + ptr->data;
        ptr = ptr->next;
    }
    return s;
}
 
struct Node *find_max(struct Node *ptr) {
    int max = ptr->data;
    struct Node *ptr_max, *ptr1 = ptr;
    while(ptr1->next != NULL) {
        if(max < ptr1->next->data) {
            max = ptr1->next->data;
            ptr_max = ptr1->next;
        }
        ptr1 = ptr1->next;
    }
    return ptr_max;
}
 
void sort(struct Node *ptr) {
    struct Node *ptr_max, *ptr0 = ptr;
    int x;
    ptr_max = find_max(ptr0);
    x = ptr0->data;
    ptr0->data = ptr_max->data;
    ptr_max->data = x;
    if(ptr->next != NULL) sort(ptr->next);
}
 
int main()
{
    struct Node *tmp, *head = NULL;
    int n, s, m, count = 1;
    scanf("%d", &n);
    for(int i = 0; i < n; ++i) {
        tmp = malloc(sizeof(*tmp));
        scanf("%d", &tmp->data);
        tmp->next = head;
        head = tmp;
    }
    s = sum(tmp);
    tmp = head;
    sort(tmp);
    m = 0;
    while(tmp != NULL) {
        m = m + tmp->data;
        if(m <= s - m) ++count;
        else break;
        tmp = tmp->next;
    }
    printf("%d", count);
    return 0;
}
~
Заранее благодарю за помощь!

Добавлено через 4 часа 28 минут
Задача решилась! В 20 строке указателю ptr_max нужно было присвоить значение указателя ptr!
struct Node *ptr_max = ptr, *ptr1 = ptr;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2022, 22:07
Ответы с готовыми решениями:

Ошибка сегментации
Зарание благодарен за помощ собственно вот мой код . он должен считывать информацию о процессе с фалйа ,а принимать на вход пид процесса ...

Ошибка сегментации
Здравствуйте! Написал классы матрица и вектор с длинными комплексными числами. Длинное комплексное число это число, действительная и мнимая...

Ошибка сегментации...
Пытаюсь написать программу, которая может хранить массив из произвольного числа объектов класса. Но при попытке записать данные в класс,...

4
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
20.04.2022, 22:41
malloc -----------> free

it's error...
1
0 / 0 / 0
Регистрация: 09.09.2021
Сообщений: 18
20.04.2022, 23:41  [ТС]
Простите, можно по подробнее?
0
383 / 280 / 112
Регистрация: 28.04.2015
Сообщений: 1,726
20.04.2022, 23:43
ну память выделяешь, а кто будет освобождать, дядя Вася? Ну, ок...
0
 Аватар для Наталья8
621 / 379 / 67
Регистрация: 09.03.2016
Сообщений: 4,074
22.04.2022, 23:51
С какого сайта вы Ваня скопипастили этот код? (struct Node).
Плохо текст прочли. там написано было, что память не освободил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2022, 23:51
Помогаю со студенческими работами здесь

Ошибка сегментации
Никак не пойму почему программа рушится при вызове деструктора: MyPolygon::MyPolygon(QPointF *point1,QPointF *point2,QPointF *point3) {...

Ошибка сегментации
# include &lt;sys/types.h&gt; # include &lt;sys/times.h&gt; # include &lt;sys/socket.h&gt; # include &lt;stdio.h&gt; # include &lt;netinet/in.h&gt; # include...

ошибка сегментации
выдаёт ошибку сегментации #include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;signal.h&gt; #include&lt;dirent.h&gt;...

Ошибка сегментации :(
Подскажите в чем может быть проблема. =D После инклюдов объявлен резиновый массив которого пока* хватает, потом расширю до . Изначально...

Ошибка Сегментации
Всем привет! При выполнении кода вылетает ошибка: &quot;Ваша программа вызвала нарушение доступа(ошибку сегментации)&quot;. Как это...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru