0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 20

c++ Описать процедуру Transp(A,M)

14.04.2011, 10:09. Показов 3853. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать процедуру Transp(A,M), выполняющую транспонирование квадратной вещественной матрицы A порядка M. Двумерный массив A — входной и выходной параметр, M — входной параметр. Использовать эту процедуру для транспонирования данной матрицы A порядка M.
Вот фрагмент транспонирования
C++
1
2
3
4
5
6
7
8
9
m[n][k];
 
for(int ii = 0; ii < n; ++ii)
for(int jj = 0; jj < k; ++jj)
{
int t = m[ii][ jj];
m[ii][jj] = m[jj][ii];
m[jj][ii] = t;
}
Только не знаю,как это сделать с помощью процедуры
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2011, 10:09
Ответы с готовыми решениями:

Описать процедуру Transp
Описать процедуру Transp (A,B) выполняющию транспонирования квадратной вещественной матрицы А порядка М. Двумерный массив А- входной и...

Описать процедуру Transp(A, M), выполняющую транспонирование
Описать процедуру Transp(A, M), выполняющую транспонирование (то есть зеркальное отражение относительно главной диагонали) квадратной...

Описать процедуру Transp(A,M), выполняющую транспонирование квадратной вещественной матрицы
Описать процедуру Transp(A,M), выполняющую транспонирование квадратной вещественной матрицы A порядка M. Двумерный массив A — входной и...

22
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 20
15.04.2011, 19:18  [ТС]
Студворк — интернет-сервис помощи студентам
не транспонирует(((
и как то странно построчно выводит матрицу,после каждого нажатия энтер,выводит строку

Добавлено через 10 минут
Цитата Сообщение от Ma3a Посмотреть сообщение
В смысле нужно вывести матрицу после транспонирования? тогда так можно
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define n 5
 
void out(int A[n][n])
{
       for(int i=0;i<n;i++)
       {
               for(int j=0;j<n;j++)
                       cout<<A[i][j]<<' ';
               cout<<endl;
       }
       cout<<endl;
} 
void vvod(int A[n][n])
{
        randomize();
        for(int i=0;i<n;i++)
        {
                for(int j=0;j<n;j++)
                        A[i][j]=rand()%10;
        }
}
void Transp(int A[n][n], int M)
{
        for(int i = 0; i < M; ++i)
                for(int j = 0; j < M; ++j)
                {
                        int t = A[i][j];
                        A[i][j] = A[j][i];
                        A[j][i] = t;
                }
}
 
int main(void)
{
        int A[n][n] = {0};
        int M = 5;
        vvod(A);
        cout<<"massiv 1="<<endl;
        out(A);
        for (int i = 0; i < n * n; i++)
                A[0][i] = i;
        Transp(A, M);
        out(A);
        return 0;
}
по этой программе получается,в первый раз он выводит матрицу рандомайзом,а во второй раз-просто матрицу от 0 до 24,потому что вывод не связан с транспонированием
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
15.04.2011, 19:24
Gera2011, ну так вы вырежьте код-то ненужный А не транспонирует потому, что внутренний цикл должен идти от i + 1 до n, а так он один раз пройдет протранспонирует, а потом обратно всё вернет. Так что выглядеть программа будет так

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.h>
#include <conio.h>
#include <stdlib.h>
#define n 5
 
void out(int A[n][n])
{
       for(int i=0;i<n;i++)
       {
               for(int j=0;j<n;j++)
                       cout<<A[i][j]<<' ';
               cout<<endl;
       }
       cout<<endl;
} 
void vvod(int A[n][n])
{
        randomize();
        for(int i=0;i<n;i++)
        {
                for(int j=0;j<n;j++)
                        A[i][j]=rand()%10;
        }
}
void Transp(int A[n][n], int M)
{
        for(int i = 0; i < M; ++i)
                for(int j = i + 1; j < M; ++j)
                {
                        int t = A[i][j];
                        A[i][j] = A[j][i];
                        A[j][i] = t;
                }
}
 
int main(void)
{
        int A[n][n] = {0};
        int M = 5;
        vvod(A);
        cout<<"massiv 1="<<endl;
        out(A);
        Transp(A, M);
        out(A);
        return 0;
}
1
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 20
15.04.2011, 19:36  [ТС]
Ma3a, спасибо вам огромное!!!!!!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2011, 19:36

Описать процедуру Replace(S), заменяющую в строке S символы нижнего подчеркивания на пробелы. Используя эту процедуру, преобразовать пять данных строк
Описать процедуру Replace(S), заменяющую в строке S символы нижнего подчеркивания на пробелы. Используя эту процедуру, преобразовать пять...

Описать процедуру рисования любого узора. Используя эту процедуру "замостить" узором холст
Разработать программу, в которой описана процедура рисования любого графического узора, на основе свойства Canvas. Используя указанную...

Описать процедуру
Здравствуйте! Есть задача! Нужно в строке подсчитать количество таких знаков как &quot;&lt;&lt;&quot; &quot;&gt;&gt;&quot; &quot;=&quot;;...

Описать процедуру
type строка = packed array of char; дата = record число: 1..31; месяц: 1..12; год: ...

Описать процедуру
Помогите, пожалуйста, с решением задачи. Описать процедуру СледМин(t,t1), присваивающую параметру t1 время, на 1 мин большее t (учесть...


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

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

Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru