Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 27
1

Найти наименьшие элементы каждой строки квадратной матрицы и поместить их на главную диагональ

05.01.2016, 02:23. Просмотров 1573. Ответов 7
Метки нет (Все метки)

где ошибка ?
нужно найти малейшие элементы каждой строки квадратной матрицы и поместить их на главную диагональ а диагональные элементы на места наибольших

вот код
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
#include<iostream>
#include<conio.h>
#include<random>
#include<time.h>
using namespace std;
 
void main()
{
    int tmp;
    int min;
    int max,k,q;
    const int n = 3;
    int matrix[n][n];
    
    
    srand(time(NULL));
    for (int i = 0; i < n; i++)//водимо матрицю
    {
        for (int j = 0; j < n; j++)
        {
            matrix[i][j] = rand()%10;
        }
    }
    cout << "1 matrix:" << endl;
    for (int i = 0; i < n; i++)//1 matrix
    {
        for (int j = 0; j < n; j++)
        {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
    cout << "2 matrix:" << endl;
    for (int i = 0; i < n; i++)// 2 matrix
    {
        min = matrix[i][0];
        max = matrix[i][0];
        for (int j = 0; j < n; j++)
        {
            
            if (matrix[i][j] < min)
            {
                min = matrix[i][j];
                
            }
            if (matrix[i][j] > max)
            {
                max = matrix[i][j];
                
            }
            
                tmp = min;
                min=matrix[i][i];
                matrix[i][i] = tmp;
            }
        
    }
 
    
    cout << endl;
    for (int i = 0; i < n; i++)// 3 matrix
    {
        
        for (int j = 0; j < n; j++)
        {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
    
    _getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2016, 02:23
Ответы с готовыми решениями:

Найти наибольшие элементы каждой строки матрицы и поместить их на главную диагональ
Найти наибольшие элементы каждой строки матрицы Z(16,16) и поместить их на главную диагональ....

Найти максимальные элементы каждой строки и поместить их на главную диагональ, а диагональные элементы поместить на место максимальных
Найти максимальные элементы каждой строки исходной матрицы А(N,N) (N&lt;=10) и поместить их на главную...

В матрице найти наименьшие элементы в каждом столбце и поместить их на главную диагональ
Здравствуйте. Если это возможно,хотелось бы попросить помощи в рещении нескольких задач. ...

Найти минимум каждой строки матрицы исключая главную диагональ
Program Matrica_Random; Uses crt; // подключаем модули Type mat = array of integer ; ...

7
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.01.2016, 03:32 2
Цитата Сообщение от Женя Ковтунов Посмотреть сообщение
C++
1
min=matrix[i][i];
может так?
C++
1
matrix[i][i] = min;
Добавлено через 1 минуту
Цитата Сообщение от Женя Ковтунов Посмотреть сообщение
а диагональные элементы на места наибольших
Цитата Сообщение от Женя Ковтунов Посмотреть сообщение
C++
1
2
3
4
if (matrix[i][j] > max)
{
    max = matrix[i][j];
}
еще надо индексы запоминать.
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 27
05.01.2016, 19:41  [ТС] 3
если я пишу вот так то малейшие элементы каждой строки квадратной матрицы заменяют элементы главной диагонали,а как сделать штоб и элементы главной диагонали заменяли малейшие элементы каждой строки
C++
1
2
3
tmp = matrix[i][i];
matrix[i][i] = min;
min = tmp;
0
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.01.2016, 19:45 4
Цитата Сообщение от Женя Ковтунов Посмотреть сообщение
а как сделать штоб и элементы главной диагонали заменяли малейшие
Цитата Сообщение от _Valera_ Посмотреть сообщение
еще надо индексы запоминать.
надо запомнить индексы на минимальный элемент. И потом подставить.
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 27
05.01.2016, 20:17  [ТС] 5
вот так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (int i = 0; i < n; i++)//min max
    {
        
        if (min > A[i])
        {
            min = A[i];
                k=i;
        }
        if (max < A[i])
        {
            max = A[i];
            q = i;
        }
        cout << A[i] << " ";
    }
 
temp = A[k];
    A[k] = A[q];
    A[q] = temp;
0
493 / 375 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.01.2016, 20:32 6
Цитата Сообщение от Женя Ковтунов Посмотреть сообщение
вот так?
ну если работает, то да.
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 27
05.01.2016, 20:44  [ТС] 7
работает только когда min и max стоят рядом.я не понимаю почему
0
502 / 314 / 236
Регистрация: 18.02.2013
Сообщений: 754
05.01.2016, 20:53 8
Лучший ответ Сообщение было отмечено Женя Ковтунов как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < n; i++)// 2 matrix
    {
        min = 0;max=0;
        for (int j = 1; j < n; j++)
            
            if (matrix[i][j] < matrix[i][min])min = j;
            else if (matrix[i][j] > matrix[i][max])max = j;
 
           
                tmp =matrix[i][i];
                matrix[i][i]=matrix[i][min];
                matrix[i][max]=tmp;
    }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2016, 20:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

На главную диагональ матрицы поместить наибольшие элементы
На главную диагональ матрицы А(К,К), К &lt;= 100 поместить наибольшие элементы этой матрицы (сначала...

Минимальные элементы строк матрицы поместить на главную диагональ
Доброго времени суток товарищи. Помогите решить программку: Найти минимальные элементы каждой...

Найти наибольшие элементы строки матрицы и записать их в главную диагональ
Необходимо найти наибольшие элементы строки матрицы и записать их значения в элементы главной...

В каждой строке найти min элемент и поместить его на главную диагональ
Задача: Дан массив n*n В каждой строке найти min элемент и поместить его на главную диагональ....

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

Определить наименьшие элементы каждой строки матрицы и найти их сумму
Помогите решить программу. В квадратной матрице А определить наименьшие элементы каждого рядка и...


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

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

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