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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылетает прога http://www.cyberforum.ru/cpp-beginners/thread723378.html
Час понять не могу в чем ошибка #include <stdio.h> #include <stdlib.h> int main() { int a, b, n, m, i, j; scanf("%d %d",&n,&m);
C++ Поменять Два элемента динам. массива местами ... int *p=(int *)malloc(k*sizeof(int)); // Ввел динамически массив Хочу поменять местами 5 и 7 элементы: temp=p; p=p; p=temp; http://www.cyberforum.ru/cpp-beginners/thread723369.html
Квадратная матрица A называется ортогональной C++
Квадратная матрица A называется ортогональной, если AT=A-1. Определить является ли данная матрица ортогональной: 1,00 0,42 0,54 0,66 0,42 1,00 0,32 0,44 0,54 0,32 1,00 0,22 0,66 0,44 0,22 1,00 Ортогональная матрица — квадратная матрица A с вещественными элементами, результат умножения которой на A^T равен единичной матрице E. Основные свойства ортогональной матрицы: 1.Модуль...
C++ во всех словах, имеющих нечетное количество символов, средний символ удалить.
Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить.
C++ Сотрировка одномерного массива по условию http://www.cyberforum.ru/cpp-beginners/thread723361.html
Нужно написать алгоритм программы и сам текст программы. Номер варианта: A8B14C2 Заранее спасибо.
C++ Ошибка с целочисленными данными Есть функция, получающай дату из системы и сохраняющая её в переменные типа int. void date::sys(){ time_t t; tm *tk; time(&t); tk = localtime(&t); day = tk->tm_mday; month = 1+tk->tm_mon; year = 1900+tk->tm_year; } подробнее

Показать сообщение отдельно
VladosLancer
1 / 1 / 0
Регистрация: 03.10.2011
Сообщений: 96
08.12.2012, 00:28  [ТС]     Транспонировать матрицу, не используя вспомогательного массива
Ну вот, кое-что попробовал написать. Проверьте, пожалуйста, правильно ли, я тут вроде как не использовал вспомогательный массив, или я не прав?
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
#include <iostream>
#include <iomanip.h>
using namespace std;
const int size1 = 5;
const int size2 = 5;
void print(int [][size2]);
int main()
{
int array[size1][size2] = {{ 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}};
int temp;
cout << "Ishodnaya matrica: " << endl << endl;
print(array);
cout << endl;
for(int i = 0; i < size1; i++)
{
for(int j = i; j < size2; j++)
{
temp = array[i][j];
array[i][j] = array[j][i];
array[j][i] = temp;
}
}
cout << "Transponirovannaya matrica: " << endl << endl;
print(array);
cout << endl;
int transpArray[size1][size2];
for(int i = 0; i < size1; i++)
for(int j = 0; j < size2; j++)
transpArray[j][i] = array[i][j];
cout << "Transponirovannaya matrica: " << endl << endl;
print(transpArray);
cout << endl;
}
void print (int array[][size2])
{
for(int i = 0; i < size1; i++)
{
for(int j = 0; j < size2; j++)
{
cout << setw(2) <<
array[i][j] << " ";
}
cout << endl << endl;
}
 system("pause");
}
Добавлено через 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
41
42
43
44
45
46
#include <iostream>
#include <iomanip.h>
using namespace std;
const int size1 = 5;
const int size2 = 5;
void print(int [][size2]);
int main()
{
int array[size1][size2] =
{{ 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}};
int temp;
cout << "Ishodnaya matrica: " << endl << endl;
print(array);
cout << endl;
for(int i = 0; i < size1; i++)
{
for(int j = i; j < size2; j++)
{
temp = array[i][j];
array[i][j] = array[j][i];
array[j][i] = temp;
}
}
cout << "Transponirovannaya matrica: " << endl << endl;
print(array);
cout << endl;
cout << "Transponirovannaya matrica: " << endl << endl;
cout << endl;
}
void print (int array[][size2])
{
for(int i = 0; i < size1; i++)
{
for(int j = 0; j < size2; j++)
{
cout << setw(2) <<
array[i][j] << " ";
}
cout << endl << endl;
}
 system("pause");
}
Вобщем, вот эти строки не нужны
C++
1
2
3
4
int transpArray[size1][size2];
for(int i = 0; i < size1; i++)
for(int j = 0; j < size2; j++)
transpArray[j][i] = array[i][j];
Вот теперь проверьте
 
Текущее время: 09:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru