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

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

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

Нужно поменять столбци и строки местами! - C++

08.12.2013, 10:15. Просмотров 179. Ответов 0
Метки нет (Все метки)

Есть матрица m на n, нужна найти максиальный елемент и поместить его в левый верхний угол.
Я немогу переставить местами столбци и строки!
Заранее спасибо.

C++ (Qt)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
#include <string.h>
#include <time.h>
 
//функція для генерації довільних чисел в заданому діапазоні
int Random(int min,int max){
    return rand() % (max - min + 1) + min;
}
 
int main()
{
    setlocale(LC_CTYPE,"rus");
 
    int i,j,c = 1,
        n,t,//змінні для збеерження
        posN,posT,//змінні для збереження координат найбільшого числа
        maxElement;
 
 
    printf("Введите размер матрици(n t): ");
    scanf("%d %d", &n, &t);
 
    //оголошуємо матрицю
    int mat[n][t];
    int tempM[n][t];
    int rows[n];
    int colums[t];
 
    for(i=0;i<n;i++){
        for(j=0;j<t;j++){
            tempM[i][j] = 00;
        }
 
    }
 
    srand(time(NULL));
 
    //заповнюємо матрицю довільними числами
    for(i=0;i<n;i++){
        for(j=0;j<t;j++){
            mat[i][j] = Random(10,99);
        }
    }
 
    //виводимо на екран матрицю
    for(i=0;i<n;i++){
        for(j=0;j<t;j++){
            printf("%d ", mat[i][j]);
        }
        printf("\n");
    }
 
    //створюмо початкову точку  для пошуку максимального елкмента
    maxElement = mat[0][0];
 
 
    for(i=0;i<n;i++){
        for(j=0;j<t;j++){
            //щукаємо максимальний елемент
            if(mat[i][j] > maxElement){
                    //записуємо максимальний елемент у матриці
                   maxElement = mat[i][j];
                   //записуємо координати максимального елемента
                   posN = i;
                   posT = j;
            }
        }
    }
 
 
    //printf("%d %d %d", maxElement, posN, posT);
 
    printf("\n\n");
 
    //виділяєм стопчик з максимальним елементом і записуєм його на у тимчасовий масив
    for(i=0;i<n;i++){
        rows[i] = mat[i][posT];
    }
 
    /*printf("\n\n");
 
    for(i=0;i<t;i++){
        colums[i] = mat[posN][i];
        printf("%d ", colums[i]);
    }*/
 
    //записуєм стопчик з максимальним елементом в перший стовпчик
    if(posT != 0){
 
 
            for(i=0;i<n;i++){
                tempM[i][0] = rows[i];
               // printf("%d ", rows[i]);
            }
            /////////////////////
        /**/
            for(i=0;i<n;i++){
                for(j=1;j<t;j++){
                        if(j != posT){
                            tempM[i][j]  = mat[i][j];
                        }
                }
            }
 
        }
 
    //виводимо на екран матрицю
    for(i=0;i<n;i++){
        for(j=0;j<t;j++){
            printf("%d ", tempM[i][j]);
        }
        printf("\n");
    }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 10:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно поменять столбци и строки местами! (C++):

Нужно поменять местами - C++
Всем привет) Тут такая штука , нужна помощь . Проблема в том что С++ не хочет использовать и выводить на экран сразу две функции с номером...

Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки. решить пример тремя...

Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Всем привет помогите применить указатели в программах. Кода написала, а вот указателями пользоваться не могу( 2)Задана матрица С(5,5)....

Поменять местами максимальный элемент каждой строки матрицы с первым элементом строки - C++
Написать функцию, которая меняет местами максимальный элемент каждой строки матрицы С(5,5) с первым элементом соответствующей строки.

Если длина введенной строки кратна 4, первую часть строки поменять местами со второй - C++
Если длина введенной строки кратна 4, первую часть строки поменять местами со второй.

Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 10:15
Привет! Вот еще темы с ответами:

В функции, для каждой строки матрицы M[n][k], максимальный элемент поменять местами с первым элементом строки - C++
В функции, для каждой строки матрицы M, максимальный элемент поменять местами с первым элементом строки. Дополнительных массивов и матриц...

Поменять местами строки - C++
В данной вещественной матрице порядка 6х9 поменять местами строку, содержащую элемент с наибольшем значением, со строкой, содержащий...

Поменять местами строки - C++
У меня присутствует код в котором столбец с минимальным в строке &quot;k&quot; переставить c столбцом &quot;k&quot;. Беда в том что у меня считывает...

Поменять строки местами - C++
Меня интересует такой вопрос, вот это неправильный отрывок кода. ... while (a!=NULL) { puts(a); a=strtok(NULL,&quot; &quot;); ...


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

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

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