Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 16

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

08.02.2020, 16:26. Показов 4449. Ответов 27

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужно дописать программу перестановкой первого и второго столбца массива
А также снова сделать вывод уже измененной матрицы.

C++
1
2
3
4
5
6
7
int buf=a[0][0];
for(i=0;i<n;i++)
 {
 buf=a[i][0];
 a[i][0]=a[i][1];
 a[i][1]=buf;
 }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2020, 16:26
Ответы с готовыми решениями:

Получить из матрицы B[N][M] из матрици A[N][M] путем перестановки столбцов- первого с последни, второго с предпослндним и т.д.
Помогите пожалуста нужно написать алгоритм и программу в фри паскале=) вот задание: Получить из матрицы B из матрици A путем перестановки...

Матрицы. Перестановка столбцов
Помогите пож-та разобраться с задачкой: В матрице переставить местами столбцы с максимальными и минимальными элементами.

Перестановка столбцов матрицы.
на паскале выполнить задачу-дана матрица вещественных чисел размерностью м на н.Требуется получить новую матрицу перестановкой 1 столбца с...

27
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 16
09.02.2020, 20:10  [ТС]
Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
for(int i = 0; i < n; i++)
    swap(a[0][0],a[0][2]);
        swap(a[1][0],a[1][2]);
            swap(a[2][0],a[2][2]);
Столбцы)

C++
1
2
3
4
for(int i = 0; i < n; i++)
    swap(a[0][0],a[2][0]);
        swap(a[0][1],a[2][1]);
            swap(a[0][2],a[2][2]);
Строки)

Спасибо, благодаря вам это понял. Осталось понять , что делать если размерность разная.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.02.2020, 20:59
Цитата Сообщение от Ifrom9 Посмотреть сообщение
это понял
к сожалению нет.
Цитата Сообщение от Ifrom9 Посмотреть сообщение
for(int i = 0; i < n; i++)
    swap(a[0][0],a[0][2]);
        swap(a[1][0],a[1][2]);
            swap(a[2][0],a[2][2]);
если нет фигурных скобок цикл относится только к первой строке после него. то есть Вы три раза поменяли a[0][0] с a[0][2] (но значения поменялись, так как размерность нечётная - сначала поменяли, потом восстановили назад, потом ещё раз поменяли). а цикл в данной задаче и ставится для того, чтобы после него была одна строка (там ещё переменная i вместо индекса) - прочитайте ещё раз, то что Вам говорилось раньше.
Цитата Сообщение от Ifrom9 Посмотреть сообщение
А если размерность матрицы вводится с клавиатуры и каждый раз она разная?
тогда используйте не статический, а динамический массив:
C++
1
2
3
4
5
6
7
8
    int n, m;
    cout << "n="; cin >> n;
    cout << "m="; cin >> m;
 
// объявление динамического массива   
      int **a = new int*[n]; 
    for (int i = 0; i < n; i++)
       a[i]=new int[m];
1
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 16
09.02.2020, 22:34  [ТС]
Без цикла

C++
1
2
3
swap(a[0][0],a[2][0]);
    swap(a[0][1],a[2][1]);
    swap(a[0][2],a[2][2]);
если с циклом , то
C++
1
2
for(int j = 0; j < m; j++){
    swap(a[0][j],a[2][j]);}
При условии размерности матрицы 3 х3
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.02.2020, 22:52
Ifrom9, правильно только комментируйте что меняете

задача для Вас: поменяйте первый столбец с третьим столбцом в матрице 3х4

Добавлено через 4 минуты
Цитата Сообщение от Ifrom9 Посмотреть сообщение
При условии размерности матрицы 3 х3
При условии размерности матрицы 3хm
0
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 16
09.02.2020, 22:55  [ТС]
C++
1
2
3
for(int i = 0; i < n; i++){
    swap(a[i][0],a[i][2]);}
//Меняем 1(й) и 3(й)столбцы местами
Сейчас постараюсь разобраться с матрицей, при условии ввода с клавиатуры)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.02.2020, 23:02
Ifrom9, Вы скоро мастер класс будете давать по обмену столбцов местами комментарий не внизу, а вверху кода. или правее строки если комментируете строку.
1
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 16
09.02.2020, 23:59  [ТС]
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
#include<iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
setlocale(0,"");
int n, m;
cout << "n=";
cin >> n;
cout << "m=";
cin >> m;
 
 int **a = new int*[n];
    for (int i = 0; i < n; i++)
       a[i]=new int[m];
delete []a;
 
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
a[i][j]=rand()%30-5;}
}
 
 
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<a[i][j]<<"\t ";
}
cout<<"Еще не переставили\n"<<endl;}
for(int i = 0; i < n; i++){
    swap(a[i][0],a[i][2]);} //Меняем 1(й) и 3(й)столбцы местами
 
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<a[i][j]<<"\t ";}
    cout<<"Переставили \n"<< endl;}}
А возможно ли при динамическом массиве поменять первый и последний столбец или строку ?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.02.2020, 03:21
Цитата Сообщение от Ifrom9 Посмотреть сообщение
А возможно ли при динамическом массиве поменять первый и последний столбец
конечно возможно:
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m;
    cout << "n="; cin >> n;
    cout << "m="; cin >> m;
 
        int **a = new int*[n];
    for (int i = 0; i < n; i++)
          a[i]=new int[m];
       
    cout << "Matrix:\n";
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
        a[i][j]=rand()%9+1;
        cout << a[i][j] << " ";
        }
    cout << "\n";    
    } 
    
    for(int i = 0; i < n; i++)
        swap(a[i][0],a[i][m-1]);
 
    cout << "Modified matrix:\n";
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)        
        cout << a[i][j] << " ";       
    cout << "\n";    
    }
    
    // освобождение памяти динамического массива 
    for (int i = 0; i < n; i++)
    delete[]a[i];
    delete[]a;
system("pause");
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2020, 03:21
Помогаю со студенческими работами здесь

Перестановка столбцов матрицы
Дан двумерный числовой массив n*m. Найти массив получающийся перестановкой столбцов первого с последним, второй с предпоследним и т.д

Перестановка столбцов матрицы
Составьте программу перестановки столбцов двумерного массива K, при которой i-й столбец становиться i+1-м, а последний становиться первым.

Перестановка столбцов матрицы
Я написал программу, но в ней не могу придумать как мне переставить столбцы в матрице так, как я хочу. Например столбцы 0 1 2...

Перестановка столбцов матрицы.
дайте плиз ссылку..кто знает где можно скачать Turbo Professional Menu Maker 5.05 uses crt; type Matr=array of real; var ...

Перестановка столбцов матрицы
Расположить столбцы матрицы D в порядке возрастания элементов k-ой строки (1 ≤ k ≤ М).


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru