Помогите, пожалуйста, создать программу на базе с++. Разбираюсь второй день - уже голова от этих матриц болит. Вот суть задачи: Дана матрица (N+15)x(N+15), найти строки с максимальным и минимальным элементом и поменять их местами, если строки совпадают, обнулить их. Числа генерировать случайно в интервале [-N-15; N+15]
Заранее благодарю за код или мысли которые натолкнут на создание. :)
В функции main делаешь ввод числа N (или он у тебя статический не знаю), потом инициализируешь матрицу и устанавливаешь значения элементов случайными числами.
Вот пример генерации случайного числа на промежутке [a, b]:
rand() % (b - a + 1) + a
и потом вызываешь функцию решения задачи.
В самой же функции создаешь 2 переменные отвечающие за минимальный элемент и присваиваешь ему максимальное значение
в твоем случае это N + 15
, и переменную отвечающую за максимальный элемент ему присваиваешь минимальное значение
это N - 15
. Так же две переменные в которых будешь хранить индексы строк, где ты нашел максимальный или минимальный элемент.
Потом пишешь два цикла. Первый проходит по всем строкам, а второй по всем элементам массива. И находишь в каждой строчке максимальный и минимальный элемент. Записывая индексы строк в соответствующие переменные.
Дальше пишешь еще один цикл в котором, ты сравниваешь элементы тех строк, индексы которых ты сохранил. И если эти строки совпадают, то ты их обнуляешь.
Можешь сделать функцию, которая будет принимать указатель на массив и обнулять его элементы. И перед тем как проверить 2 строки на полное совпадение, проверить равняются ли вычисленные индексы друг другу, если ровняются, то вызываешь функцию обнуления. И так же вызываешь эту функцию, если две строчки совпадают. И тебе не придется, если в одной строчке и минимальный, и максимальный элемент, сравнивать её саму с собой.
И потом проверяешь если у тебя строки не совпадали, то делаешь цикл в котором ты swap`аешь элементы этих строк.
Если честно мне проще было код написать, а не объяснение, да и тебе проще было самому написать код, а не врать про то, что ты сломал голову уже. Если бы ты разбирался 2 дня, то ты бы хотя бы свои идеи написал, а не просто условие задачи.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задача: Составить алгоритм увеличения всех трех, введённых с клавиатуры, переменных на 5,если среди них есть хотя бы две равныеВ противном...
У меня есть последовательность чисел, которая разбивается на строкиКол-во строк зависит от кол-ва чисел(выбирается рандомно в диапазоне...
Допустим имеется слово "элемент"(слово может быть любым), нужно циклически сдвинуть слово вправо на "n" символовНапример, на 3 символа...
Есть вот такой кодНемного непонятно, что делает второй цикл while