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

Односвязный список, поменять местами элементы (максимальный и последний) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Односвязный список: найти максимальное отрицательное число http://www.cyberforum.ru/cpp-beginners/thread899737.html
Дан не пустой односвязный список, в котором каждый элемент имеет тип: struct elem { int num; elem* next; } Написать функцию int max_negative (elem *first) , которая возвращает наибольшее отрицательное число или 0, если нет ни одного отрицательного.
C++ Использование static_cast Здравствуйте! Подскажите, почему такая конструкция не компилируется. int main() { int nWord = 4; char temp = static_cast< char >( static_cast< int >( '0' ) nWord + 1 ); return 0; } expected ')' before 'nWord' http://www.cyberforum.ru/cpp-beginners/thread899732.html
чем отличаются static_cast от C++
Привет всем! чем отличаются явное приведения типа long tmp = static_cast<long>(45.6); от long tmp = long(54.34); ?
Кодировка при записи в файл C++
Как указать кодировку в которой должны записываться данные? fprintf(fp, "%s %s %s %s %s %i",p->name,p->lastname,p->otc,p->home_address,p->group,p->rate); а то после записи в файле у меня получается „¬ЁваЁ© ‡®аЁ* ‘ҐаЈҐҐўЁз Ѓа*вбЄ*п Ђ‘“ 100
C++ Поясните пару строчек http://www.cyberforum.ru/cpp-beginners/thread899707.html
Приветствую форумчане! Поясните пожалуйста пару кусочков программы. 1 часть: char a; a=0; if (!a) { ... };
C++ Путь к файлу Добрый день форумчане! Хотелось бы узнать, как указывать путь к файлу выше по каталогу. Например: *****---folder---****** *****|********|***** ***folder2***file.exe ** *****|************** **program.exe******** Мы находимся в программе program.exe, у нужно указать путь к file.exe Буду благодарен за помощь! подробнее

Показать сообщение отдельно
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
12.06.2013, 18:23     Односвязный список, поменять местами элементы (максимальный и последний)
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
// Найти элем. по значению
elem *find_by_key(elem *first, int key) {
    while (first->next) {
        if (first->num == key) {
            return first;
        }
        first = first->next;
    }
    return NULL;
}
 
// найти элемент с макс. значением
elem *get_max(elem *first) {
    int max = first->num;
    elem *p = first;
    while (p->next) {
        p = p->next;
        if (p->num > max) {
            max = p->num;
        }
    }
    return find_by_key(first, max);
}
 
void max_last(elem *first, elem *last) {
    elem *p = get_max(first);
    if (p->num != last->num) {
        int temp = p->num;
        p->num = last->num;
        last->num = temp;
    }
}
 
Текущее время: 01:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru