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

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

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

Поменять местами макс и мин элементы с++ - C++

11.11.2013, 18:12. Просмотров 623. Ответов 3
Метки нет (Все метки)

Здравствуйте,я недавно начал пытаться программировать на этом языке, Задание следующее: в матрице необходимо найти максимальный и минимальный элемент по строкам, и поменять их между собой...( например, массив 1 2 3 4,
6 7 8 9
в 1 строке мин=1 мах=4, поменять их между собой местами и выдать уже измененный массив, так в каждой строке).

Вот рабочий код (проверено) для нахождения макс и мин элемента, а дальше я как раз запутался

cout <<"vvedite kol-vo strok massiva \n";
cin>>strk;
cout <<"vvedite kol-vo stolbcov massiva \n";
cin>>stlb;
cout <<"vvedite massiv \n";
for (i=1; i<=strk; i++)
{
for (j=1; j<=stlb; j++)
cin>>mas[i][j];
}
for (i=1;i<=strk;i++)
{
min=mas[i][1];
max=mas[i][1];
for(j=1;j<=stlb;j++)
{
if (mas[i][j]<min)
min=mas[i][j];
if (mas[i][j]>max)
max=mas[i][j];
}
cout<<"min= "<<min<<" max= "<<max<<" \n";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2013, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами макс и мин элементы с++ (C++):

Ввести матрицу с внешнего файла и поменять местами макс. и мин. элементы каждого столбца матрицы - C++
Дана матрица A . Необходимо поменять местами максимальный и минимальный элемент каждого столбца.Ввести матрицу с внешнего файла(.txt) и...

Поменять местами макс и мин эл-ты массива - C++
Ребят, как поменять местами макс. и мин. элементы в массиве? Макс. и мин. элемент я нашел...вот код randomize(); int...

Поменять местами мин и макс элемент в каждой строке - C++
Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.

Не могу поменять мах и мин элементы местами - C++
Что я не так сделала? Показывает ошибку в 29 строке. #include &lt;iostream&gt; using namespace std; const int n = 10; int A; ...

Мин. и макс. элементы в файле - C++
Не находит мин. и макс. элементы. Где ошибка? int max=0,min=0; while(fin.read((char*)&amp;a,sizeof(a))) { if (a.oboroti &gt; max...

Как найти мин. и макс. элементы массива? - C++
Как найти минимальный и максимальный элементы массива и их индексы,и заменить все отрицательные элементы на 0?) в С++

3
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
11.11.2013, 18:23 #2
KRUTENb, в чем проблема? Ищите при помощи двух циклов макс и мин элементы и сохраняете их координаты. Затем просто одному присваиваете мин, а другому макс.
0
KRUTENb
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 4
11.11.2013, 18:28  [ТС] #3
Если бы это было так легко для меня :c Я кроме циклов, присваивания и основных команд толком еще и не знаю ничего) А как, например, сохранять координаты?
0
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
11.11.2013, 21:34 #4
KRUTENb, если что непонятно, спрашивайте. Вот код:
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
#include <iostream>
 
using namespace std;
 
void searchMinMax(int [][], int , int);
 
int main()
{
    int size = 10;
    int matrix[size][size];
 
    searchMinMax(matrix, size, size);
}
 
void searchMinMax(int m[][], s, s)
{
    int min = m[0][0], max = m[0][0];
    int l1, l2, c1, c2, total;
 
    for (int i = 0; i < s; i++)
        for (int j = 0; j < s; j++)
        {
            if (min > m[j][i])
            { 
                min = m[j][i];
                l1 = j;
                c1 = i;
            }
 
            if (max < m[j][i])
            { 
                max = m[j][i];
                l2 = j;
                c2 = i;
            }
        }
 
    total = m[l1][c1];
    m[l1][c1] = m[l2][c2];
    m[l2][c2] = total;
 
    for (int i = 0; i < s; i++)
        for (int j = 0; j < s; j++)
            cout << m[j][i] << " ";
    cout << endl;
}
0
11.11.2013, 21:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 21:34
Привет! Вот еще темы с ответами:

поменять местами мин и мах - C++
дано масив одномерный и нужно найти мин и мах и поменять их местами. как найти мин и мак я знаю а вот как поменять местами помогите.. ...

Двумерный массив.Мах и Мин поменять местами... - C++
Здравствуйте! Написать программу которая создает матрицу a*b. Найти максимальный элемент.И поменять их в массиве местами вывести массив....

Мин-макс в списке - C++
не получается найти минимальный и максимальный элементы в списке: struct Node {int d,a; int value; Node *next; //указатель...

Одномерный массив макс мин - C++
Вообщем не могу выполнить 1\2 сумму нашел всё работает нормально но вот макс мин не могу найти и поменять местами мб подскажите что куда ) ...


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

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

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