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

дана матрица прямоугольная нужно ее транспонировать - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ дробные числа http://www.cyberforum.ru/cpp-beginners/thread399807.html
нужно написать функцию считающую суму ряда с степенями и факториалами, так вот выбивает в строке 16 ошибку - invalid floating point operation , когда я убираю кусок кода из...
C++ Вызов неконстантной функции класса в mem_fun_ref Привет. мне нужно вызвать функцию класса в mem_fun_ref, но ей, как известно требуется чтобы передаваемая функция класса была константной. Но в моем случае нельзя сделать метод константным. Что... http://www.cyberforum.ru/cpp-beginners/thread399806.html
Создание классов в С++ C++
Помогите пожалуйста с задачей: Определить 2 класса – базовый и производный (деталь, механизм, изделие, узел), используя простое наследование. Описать конструктор по умолчанию, конструктор с...
C++ Помогите составить программу
в текстовом файле подсчитать количество строк кот начинаются и заканчиваются на одну и ту же букву
C++ из Паскаля в с++ http://www.cyberforum.ru/cpp-beginners/thread399800.html
помогите написать эту программу на с++ Program zzz; function nod(a,b:integer):integer; Begin While a<>b do If a>b Then a:=a-b Else b:=b-a; nod:=a; End;
C++ проверьте правильность пожалуйста!!! нужно найти наименьшее число у, которое делится на те же простые числа, что и х. это написано в общем виде, нам так надо)Предмет такой) Alg Od; arg x; min=x*x; y=x*x-1; c=2; while 2<y do... подробнее

Показать сообщение отдельно
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
06.12.2011, 11:13
2 alkagolik - тоже вариант, но в моем понимании матрица остается нетранспонированной, а просто вывод матрицы в другом порядке. Нну это мое мнение субъективное.

2 Chiko94

что то не пашит прога(
Моя программа работает как нужно.
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
#include <stdio.h>
#include <stdlib.h>
 
#define size 4 // порядок матрицы
 
int main( void ) {
    int i, j;
    //дана матрица
    int matrix[ size ][ size ] = { { 3, 8, 7, 5 },
                                   { 9, 0, 4, 1 },
                                   { 6, 8, 5, 9 },
                                   { 7, 0, 3, 2 } };
 
    // транспонируем матрицу
    for ( i = 0; i < size; ++i )
        for ( j = i + 1; j < size; ++j ){
            matrix[ i ][ j ] += matrix[ j ][ i ];
            matrix[ j ][ i ] = matrix[ i ][ j ] - matrix[ j ][ i ];
            matrix[ i ][ j ] -= matrix[ j ][ i ];
        }
 
    // выводим на экран
    for ( i = 0; i < size; ++i ){
        for ( j = 0; j < size; ++j )
            printf("%d  ", matrix[ i ][ j ]);
        printf("\n");
    }
 
    return EXIT_SUCCESS;
}
Вот вывод у меня в консоле:
Код
3  9  6  7  
8  0  8  0  
7  4  5  3  
5  1  9  2
Про size.
C
1
...size 4 // порядок матрицы
j = i + 1 а почему тут так...а не просто j=0
Потому что разбирай внимательней алгоритм.
Попробуй заменить на j = 0 и погляди результат.

Ты писал:
дана матрица прямоугольная
В связи с этим я не понимаю причем тут матрица 7 на 9

это уже ввод переменных?
- это не ввод переменных, а инициализация массива. Ведь по условию задачи матрица дана.

Добавлено через 9 минут
В связи с этим я не понимаю причем тут матрица 7 на 9
Извиняюсь, насчет прямоугольной и квадратной это я уже перепутал.
У меня для квадратной матрицы, переделать для прямоугольной очень просто.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru