0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 53
1

Найти первый минимальный и последний максимальный элементы массива. Поменять местами столбцы, содержащие эти элементы

01.11.2018, 19:09. Показов 3047. Ответов 3
Метки нет (Все метки)

Найти первый минимальный и последний максимальный элементы массива. Поменять местами столбцы, содержащие эти элементы.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2018, 19:09
Ответы с готовыми решениями:

Поменять местами первый минимальный и последний максимальный элементы массива
"Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке [a;...

Поменять местами первый минимальный и последний максимальный элементы массива
В среде MS Visual C++ разработать программу, которая формирует одномерный целочисленный массив из N...

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

Массивы. Поменять местами первый минимальный и последний максимальный элементы
Условие: Дана последовательность из n действительных чисел. Замечание: Решить используя...

3
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
01.11.2018, 19:49 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
41
42
43
44
45
46
47
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m, jmin=0, jmax=0;
    cout <<"n="; cin >>n;
    cout <<"m="; cin >>m;
    
      double **a = new double*[n], min=0.0, max=0.0; 
    for (int i = 0; i < n; i++)
      a[i]=new double[m];
      
    cout <<"Matrix a:\n";
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++)
    {
    a[i][j]=rand()%9 + 1;
    if ((i == 0 && j==0) || a[i][j]< min) {min=a[i][j], jmin=j;}
    if ((i == 0 && j==0) || a[i][j]>= max) {max=a[i][j]; jmax=j;}
    cout <<a[i][j]<<" ";
    }
    cout << endl;
    }
    
    cout <<"first min = "<<min<<"  col "<<jmin+1<<endl;
    cout <<" last max = "<<max<<"  col "<<jmax+1<<endl;
    
    cout <<"Modified matrix a:\n";    
    for (int i = 0; i < n; i++)
    {
    swap(a[i][jmin],a[i][jmax]);    
    for (int j = 0; j < m; j++) 
    cout <<a[i][j]<<" ";    
    cout << endl;
    }
    
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
 
system("pause");
return 0;
}
0
0 / 0 / 0
Регистрация: 13.09.2018
Сообщений: 53
01.11.2018, 20:41  [ТС] 3
А что делает 21 строка?

Добавлено через 8 минут
мне необходимо от руки вводить массив, но если меняю это условие, то вся остальная часть не работает, почему?
0
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
01.11.2018, 21:02 4
Цитата Сообщение от kornedar Посмотреть сообщение
А что делает 21 строка?
в цикле заполняет массив случайными числами
Цитата Сообщение от kornedar Посмотреть сообщение
остальная часть не работает, почему?
потому что не знаете как заменить рандом на ввод с клавиатуры
Цитата Сообщение от kornedar Посмотреть сообщение
мне необходимо от руки вводить массив
в условие такого требования нет. если у Вас есть какие-то дополнительные пожелания к коду, сообщайте о них сразу

заменил на ввод с клавиатуры:
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
#include <iostream>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m, jmin=0, jmax=0;
    cout <<"n="; cin >>n;
    cout <<"m="; cin >>m;
    
      double **a = new double*[n], min=0.0, max=0.0; 
    for (int i = 0; i < n; i++)
      a[i]=new double[m];
      
    cout <<"Enter "<<n*m<<" matrix elements:\n";
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++)
    {
    cin >>a[i][j];
    if ((i == 0 && j==0) || a[i][j]< min) {min=a[i][j], jmin=j;}
    if ((i == 0 && j==0) || a[i][j]>=max) {max=a[i][j]; jmax=j;}    
    }    
    }
    
    cout <<"first min = "<<min<<"  col "<<jmin+1<<endl;
    cout <<" last max = "<<max<<"  col "<<jmax+1<<endl;
    
    cout <<"Modified matrix a:\n";    
    for (int i = 0; i < n; i++)
    {
    swap(a[i][jmin],a[i][jmax]);    
    for (int j = 0; j < m; j++) 
    cout <<a[i][j]<<" ";    
    cout << endl;
    }
    
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
 
system("pause");
return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2018, 21:02
Помогаю со студенческими работами здесь

Поменять в массиве местами первый максимальный и последний минимальный элементы
помогите пожалуйста

Поменять в списке местами первый минимальный и последний максимальный элементы
односвязный список stl (c++) На основе данных входного файла создать список. Поменять в списке...

Поменять местами первый минимальный и последний максимальный элементы массива
Помогите пожалуйста. Задачи из данного пункта решить, используя одномерный массив. Поменять...

Поменять местами первый максимальный и последний минимальный элементы массива
Дан двумерный массив. поменять местами первый максимальный и последний минимальный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru