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

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

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

Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним - C++

24.01.2014, 19:59. Просмотров 437. Ответов 6
Метки нет (Все метки)

Как можно изменить код чтобы выполнялось.

1.Найти минимальный элемент и поменять его с первым элементом.
2.Найти максимальный элемент и поменять его с последним элементом.

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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdio.h>
using namespace std;
    int main()
{
    size_t N;
    std::cout<<"Vvedite razmer massiva:";
    std::cin>>N;
    int ** mas = new int *[N];
    std::cout<<"vvedite znacheniya:\n";
    for(size_t i=0; i<N; i++)
        mas[i] = new int [N];
    for(size_t i=0; i<N; i++)
        for(size_t j = 0; j<N; j++)
            std::cin>>mas[i][j];
    std::cout<<"\ishodnaya matrica:\n";
    for(size_t i=0; i<N; i++,std::cout<<std::endl)
        for(size_t j = 0; j<N; j++)
            std::cout<<std::setw(5)<<mas[i][j];
    int posI = 0;
    int posJ = 0;
    for(size_t i=0; i<N; i++)
        for(size_t j = 0; j<N; j++)
            if(mas[i][j]>mas[posI][posJ])
            {
                posI = i;
                posJ = j;
            }
    std::swap(mas[0][0],mas[posI][posJ]);
    std::cout<<"\New matrica:\n";
    for(size_t i=0; i<N; i++,std::cout<<std::endl)
        for(size_t j = 0; j<N; j++)
            std::cout<<std::setw(5)<<mas[i][j];
    getch();
    return 0;
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2014, 19:59     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним
Посмотрите здесь:

Найти максимальный элемент стека и поменять его местами с первым элементом C++
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
Массивы. Найти максимальный элемент и поменять его с последним элементом массива C++
C++ Найти максимальный элемент и поменять его с первым элементом
Дан массив действительных чисел A размера n. Найти и поменять местами его минимальный и максимальный элементы C++
Найти минимальный элемент в столбце и поменять его местами с первым C++
Найти первый максимальный элемент и поменять его местами с последним элементом массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
Заблокирован
24.01.2014, 20:05     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #2
Andrey027, ваш вариант будет?
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 20:07  [ТС]     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #3
первый и второй.
Ev_Hyper
Заблокирован
24.01.2014, 20:12     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #4
? я имею ввиду покажите свои версии решения этих задач.
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 20:19  [ТС]     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #5
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
#include<stdio.h>
#include<conio.h>
#define m 3
#define n 4
 
int main()
{
    int C[m][n];
    int i,j,min,k,t,q;                                          
    
    for(i=0; i<m; i++)                          
    {
        for(j=0;j<n;j++)
        {
            printf("C[%d][%d]=",i,j);
            scanf("%d",&C[i][j]);
        }
        printf("\n");
    }
    //нахождение минимального
    min=C[0][0];                                    
    for(i=1; i<m; i++)                          
    {
        for(j=1;j<n;j++)
        {
            if(C[i][j]<min) 
            {
                min=C[i][j];
                t=i;        //запоминаем индексы
                q=j;
            }
        }               
        
    }
    //перестановка
    k=C[0][0];
    C[0][0]=C[t][q];
    C[t][q]=k;
    for( i = 0; i < m; i++ )                    
    {
        for( j = 0; j < n; j++ )                
            printf( "%2d ", C[ i ][ j ] );      
        printf( "\n" );                     
    }
 
    
    getch();
    return 0;
}
templas
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 19
24.01.2014, 20:19     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #6
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <conio.h>
#include <ctime>
#include <iomanip>
using namespace std;
 
int randomNumber(int initial_value, int final_value)
{
    return rand() % (final_value - initial_value + 1) + initial_value;
}
 
int main()
{
    srand(time(NULL));  // Инициализирует генератор случайных чисел
    setlocale(LC_ALL,"Rus");
    cout << "Введите размер матрицы" << endl;
    int M, N;
    cin >> M >> N;
 
    int **Array = new int*[M];
    for(int i = 0; i < M; i++)
        Array[i] = new int[N];
    
 
    cout << "\t\t***Массив заполняется случайными числами***\n\n" ;
    for(int i = 0; i < M; i++)
    {
        for(int j = 0; j < N; j++)
        {
            Array[i][j] = randomNumber(10,99);
            cout << setw(2) << Array[i][j] << " ";
        }
        cout << "\n\n";
    }
    
    int max = Array[0][0], index_i = 0, index_j = 0;
    int min = Array[0][0], index_I = 0, index_J = 0;
 
    for(int i = 0; i < M; i++)
    {
        for(int j = 0; j < N; j++)
        {
            if(Array[i][j] > max)
            {
                max = Array[i][j];
                index_i = i;
                index_j = j;
            }
            if(Array[i][j] < min)
            {
                min = Array[i][j];
                index_I = i;
                index_J = j;
            }
        }
    }
 
    cout << "\n\n";
 
    cout << "Максимальный элемент Array[" << index_i <<"]["<< index_j <<"]="<< max << endl;
    cout << "Минимальный элемент Array[" << index_I <<"]["<< index_J <<"]=" << min << endl;
 
    cout << "\n\n";
 
    swap(Array[0][0],Array[index_i][index_j]);
    swap(Array[M-1][N-1],Array[index_I][index_J]);
 
    cout << "\t\t***Полученая матрица***\n\n" ;
    for(int i = 0; i < M; i++)
    {
        for(int j = 0; j < N; j++)
        {
            cout << setw(2) << Array[i][j] << " ";
        }
        cout << "\n\n";
    }
 
    for(int i = 0; i < M; i++)
        delete [] Array[i];
    delete [] Array;
 
    _getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 20:53     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним
Еще ссылки по теме:

Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним C++
Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним C++
Найти максимальный элемент и поменять его с последним элементом C++
Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы C++
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним C++

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

Или воспользуйтесь поиском по форуму:
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
24.01.2014, 20:53  [ТС]     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним #7
А если на каждый вопрос по отдельности программму то как она будет выглядить. Для каждого вопроса своя отдельная программа.
Yandex
Объявления
24.01.2014, 20:53     Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним
Ответ Создать тему
Опции темы

Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru