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

Поменять значения адресов двух указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями http://www.cyberforum.ru/cpp-beginners/thread885952.html
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс...
C++ Программа не обрабатывает кириллицу Всем привет. У меня такая проблема. Программа не хочет обрабатывать кириллицу. К примеру, у меня задача, подсчитать в последнем слове текста количество буквы "к". Если я ввожу текст на английском и... http://www.cyberforum.ru/cpp-beginners/thread885947.html
C++ Преобразование символов "-2" в число
Привет, есть файл с отрицательными числами, читаю из него данные с помощью ifstreame.get(). Вопрос: Как преобразовать эти данные в int? Я попробовал использовать atoi, но у меня получилось вот что:...
Конкатенация строк C++
Здравствуйте. Имеется функция - Concat(s1,s2). Назначение - конкатенация строк s1 и s2 (конкатенцаия - это операция склеивания объектов линейной структуры, обычно строк. Например, конкатенация слов...
C++ Для студентов 1 курсов - Курсовая (создать структуру, элементами которой являются фамилия студента и его возраст) http://www.cyberforum.ru/cpp-beginners/thread885908.html
Написать программу, в которой необходимо создать структуру, элементами которой являются фамилия студента и его возраст. Объявить массив данных о студентах группы типа структуры и ввести значения его...
C++ В матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине элемент матрицы В матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине элемент матрицы. Массив динамический. подробнее

Показать сообщение отдельно
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
31.05.2013, 03:33
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void swap_first_line(int** arr, unsigned x, unsigned y)
{
    int ** max_line = arr;
    int max_elem = arr[0][0];
    for (unsigned i = 0; i < x; ++i)
    {
        for (unsigned j = 0; j < y; ++j)
        {
            if (max_elem < arr[i][j])
            {
                max_elem = arr[i][j];
                if (*max_line != arr[i]) // Сравниваем адреса.
                {
                    max_line = &arr[i];
                }
            }
        }
    }
    int* tmp = arr[0];
    arr[0] = *max_line; // Здесь всё ОК.
    *max_line = tmp; // А вот тут нет.
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru