4 / 4 / 3
Регистрация: 10.10.2013
Сообщений: 189
1

Программа транспонирует только квадратные матрицы

08.11.2013, 20:47. Показов 1065. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот код транспонирования матрицы
программа транспонирует только квадратные матрицы
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h> 
# define M 5
# define N 5
 
int main()
{  
    setlocale(LC_ALL,"Rus");   
    int i, j;
    int st1,st2;
    int mas[M][N];
    int mas2[M][N];
    srand(time(NULL));
    
    
    
    printf("Введенный массив:\n");
    for (i=0;i<M;i++)
    {    for(j=0;j<N;j++)
        {   mas[i][j] = rand()%10-5;
            printf("%4d", mas[i][j]);
        }
        printf("\n");
    }
    
   // swapRows(mas[(st1-1)], mas[(st2-1)]);   
 for (i=0;i<M;i++)
    {   for(j=0;j<N;j++)
            mas2[j][i]=mas[i][j];
 }
 
    printf("\n\nновая матрица:\n");
    for (i=0;i<M;i++)
    {   for(j=0;j<N;j++)
            printf("%4d", mas2[i][j]);
        printf("\n");
    }
 
     system("PAUSE");
    return 0;
}
помогите исправить
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2013, 20:47
Ответы с готовыми решениями:

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

Транспонирование матрицы: квадратную транспонирует, а прямоугольную не хочет
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;limits&gt;...

Даны квадратные матрицы A и B. Получить матрицу D, вставив столбцы матрицы B между столбцами матрицы A.
Вот такая задача...помогите решить пожалуйста....

Даны две квадратные матрицы 5х5 и 6х6 в текстовых файлах. Трансформировать их в другие матрицы
Уважаемые участники форума. Напишите, пожалуйста, программу. Даны две квадратные матрицы 5х5 и...

7
Модератор
Эксперт функциональных языков программированияЭксперт Python
36588 / 20318 / 4218
Регистрация: 12.02.2012
Сообщений: 33,621
Записей в блоге: 13
08.11.2013, 21:26 2
А что не так? Должна работать.
0
4 / 4 / 3
Регистрация: 10.10.2013
Сообщений: 189
08.11.2013, 23:31  [ТС] 3
программа транспонирует только квадратные матрицы
а прямоугольные нет
а мне как раз надо транспонировать прямоугольную
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36588 / 20318 / 4218
Регистрация: 12.02.2012
Сообщений: 33,621
Записей в блоге: 13
08.11.2013, 23:54 4
Цитата Сообщение от Schutskiy Denic Посмотреть сообщение
а прямоугольные нет
- и что происходит, когда транспонируется прямоугольная матрица?
0
4 / 4 / 3
Регистрация: 10.10.2013
Сообщений: 189
09.11.2013, 00:12  [ТС] 5
часть транспонирует а часть нет
тоесть матрица 5х6
5 первых элементов строчки переводит в столбец а последнее число теряет
и в итоге получеться матрица все равно 5х6 но странспонированием без последнего столбца
а в новой он заполняеться какимито цифрами
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
09.11.2013, 00:24 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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
# define M 5
# define N 7
 
int main() {
    setlocale(LC_ALL, "Rus");
    int i, j;
    int st1, st2;
    int mas[M][N];
    int mas2[N][M];
    srand(time(NULL));
 
    printf("Введенный массив:\n");
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            mas[i][j] = rand() % 10 - 5;
            printf("%4d", mas[i][j]);
        }
        printf("\n");
    }
 
    // swapRows(mas[(st1-1)], mas[(st2-1)]);
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++)
            mas2[j][i] = mas[i][j];
    }
 
    printf("\n\nновая матрица:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < M; j++)
            printf("%4d", mas2[i][j]);
        printf("\n");
    }
 
    system("PAUSE");
    return 0;
}
1
4 / 4 / 3
Регистрация: 10.10.2013
Сообщений: 189
09.11.2013, 00:30  [ТС] 7
что у меня было не так?
0
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
09.11.2013, 10:16 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Schutskiy Denic Посмотреть сообщение
что у меня было не так?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat patch
6c6
< # define N 5
---
> # define N 7
13c13
<   int mas2[M][N];
---
>   int mas2[N][M];
32,33c32,33
<   for (i = 0; i < M; i++) {
<       for (j = 0; j < N; j++)
---
>   for (i = 0; i < N; i++) {
>       for (j = 0; j < M; j++)
0
09.11.2013, 10:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2013, 10:16
Помогаю со студенческими работами здесь

Переставить друг с другом квадратные матрицы, расположенные на главной и побочной диагоналях большой матрицы
Дана матрица , состоящая из 4-х квадратных матриц Переставить друг с другом квадратные матрицы,...

Преобразование матрицы 6х3 в две квадратные матрицы 3х3
Добрый День всем участникам форума. Помогите пожалуйста с кодом для VBA по заданию. Задание: ...

Даны две квадратные матрицы. Вычислить среднее арифметическое элементов главной и побочной диагонали каждой матрицы
помогите написать программный код на c++

Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля
Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой...


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

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

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