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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
#1

В матрице Х(n,n) поменять местами элементы на главной и побочной - C++

25.12.2009, 21:39. Просмотров 1381. Ответов 18
Метки нет (Все метки)

парни, выручите!
В матрице Х(n,n) поменять местами элементы на главной и побочной
диагоналях.
С++ Visual, win 32 console application
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 21:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В матрице Х(n,n) поменять местами элементы на главной и побочной (C++):

В заданной квадратной матрице поменять местами элементы, стоящие на главной и побочной диагонали - C++
Добрый день ! Помогите пожалуйста с задачей,очень нужно! (С++) Дана матрицы А(3,3). В матрице поменять местами элементы, стоящие на...

Поменять местами элементы главной и побочной диагонали - C++
Помогите поменять местами элементы главной и побочной диагонали, через двумерный массив.

Поменять местами элементы главной и побочной диагонали - C++
Помогите поменять местами элементы главной и побочной диагонали, через двумерный массив.

Поменять местами элементы главной и побочной диагонали матрицы и найти столбцы, элементы которых убывают - C++
С++ Задана матрица A(n,n). Поменять местами элементы главной и побочной диагонали. В преобразованной матрице найти столбцы, элементы...

Поменять местами элементы главной и побочной диагонали массива - C++
Поменять местами элементы главной и побочной диагонали массива размерностью 5х5

Поменять местами элементы главной и побочной диагоналей матрицы - C++
помогите пожайлуста. Поменять местами элементы главной и побочной диагоналей матрицы. делал так, но не работает, просто выдаёт...

18
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2009, 22:05 #2
Если матрица X есть, то так:
C++
1
2
3
4
5
6
7
int temp;
for(int i=0; i<n; i++)
{
    temp=X[i][i];
    X[i][i]=X[n-1-i][i];]
    X[n-1-i][i]=temp;
}
1
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 13:14  [ТС] #3
А МОЖНО ОБЪЯСНИТЬ КАК ВВЕСТИ МАТРИЦУ, Т.Е. ЧТО ДОЛЖЕН НАПИСАТЬ В cout<< и cin>>...и так же вывод. Только учусь, плиз))
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 13:25 #4
Вариант:
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
#include <iostream.h>
#include <windows.h>
 
int main ()
{   int **mas, n, i,j;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå êîëè÷åñòâî ñòðîê ГЁ ñòîëáöîâ Г¬Г*òðèöû: "<< endl;
    cin>>n;
    mas=new int*[n];
 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*òðèöû: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"èñõîäГ*Г*Гї Г¬Г*òðèöГ*"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    return 0;
}
Если будете использовать эти два эпизода, то учтите, в первом варианте имя массива отличается от имени массива во втором варианте
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 13:36  [ТС] #5
что то совсем запутался...можете написать просто как ввести матрицу (cin>> ? >>)
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 14:03 #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
#include <iostream.h>
#include <windows.h>
 
int main ()
{       int **mas, n, i,j;
    SetConsoleCP(1251);// это для отображения на экране русских символов (Например когда выведено сообщение на экран "Введите количество строк и столбцов матрицы:")
    SetConsoleOutputCP(1251);// это тоже
    cout<<"Введите количество строк и столбцов матрицы: "<< endl; // выводит на экран сообщение "Введите количество строк и столбцов матрицы: "
    cin>>n;// в переменную n вводится значение пользователем
    mas=new int*[n];// в этой строке и двух последующих создается двумерный массив размерность n (n строк и n столбцов)
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы: "<< endl;// это сообщение выводится на экран
    for(i=0; i<n; i++)// i изменяется от 0 до n-1
       for(j=0; j<n; j++)// j изменяется от 0 до n-1
       {
          cout<<"["<<i<<"]["<<j<<"]= "; // на экран выводится например так: [2][3]= 
          cin>>mas[i][j];// введеное пользователем значение присваивается элементу массива
       }
        cout<<"исходная матрица"<<endl;// это сообщение вводится на экран
    for(i=0; i<n; i++)// i изменяется от 0 до n-1
        {
       for(j=0; j<n; j++)// j изменяется от 0 до n-1
          cout<<mas[i][j]<<" ";// на экран выводится значение очередного элемента массива и после него пробел
          cout<<endl;// переход на другую строку
        }
        return 0;
}
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 14:09  [ТС] #7
благодарю...вопрос, если матрица квадратная[i][i] то вместо j я так понимаю вводить тоже i?
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 14:14 #8
Нет, в последнем коде j нужна. А в первом коде все i тоже остаются без изменений. Т.е. если будете склеивать оба кода, то нужно учесть только:

Цитата Сообщение от valeriikozlov Посмотреть сообщение
Если будете использовать эти два эпизода, то учтите, в первом варианте имя массива отличается от имени массива во втором варианте
И все!
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 17:55  [ТС] #9
спасибо, сейчас попробую

Добавлено через 3 часа 40 минут
находит ошибку в строке #include <iostream.h>
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 18:05 #10
Цитата Сообщение от Oleg V Посмотреть сообщение
находит ошибку в строке #include <iostream.h>
Сделайте так:
C++
1
2
3
4
5
6
#include <iostream>
#include <windows.h>
 using namespace std;
int main ()
{       int **mas, n, i,j;
.....
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 18:07  [ТС] #11
так я так писал, всё равно косяк
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 18:18 #12
Забыл. Самая первая строчка такая:
C++
1
#include "stdafx.h"
а потом все остальное
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 18:25  [ТС] #13
ничего не выходит, пробовал...
можно попросить тебя просто дописать первый вариант

C
1
2
3
4
5
6
7
int temp;
for(int i=0; i<n; i++)
{
        temp=X[i][i];
        X[i][i]=X[n-1-i][i];]
        X[n-1-i][i]=temp;
}
0
valeriikozlov
Эксперт С++
4680 / 2506 / 322
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2009, 18:43 #14
Вот этот код должен у Вас работать, я сам потому что на таком же компиляторе работаю:
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
#include "stdafx.h"
#include <iostream.h>
#include <windows.h>
 
int main ()
{       int **mas, n, i,j;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите количество строк и столбцов матрицы: "<< endl;
    cin>>n;
    mas=new int*[n];
 
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    cout<<"Введите элементы матрицы: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    int temp;
for( i=0; i<n; i++)
{
        temp=mas[i][i];
        mas[i][i]=mas[n-1-i][i];
        mas[n-1-i][i]=temp;
}
        cout<<"полученная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
        return 0;
}
0
Oleg V
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 13
27.12.2009, 18:51  [ТС] #15
1>f:\: fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
это ошибка.
если из #include <iostream.h> делаю #include <iostream> получается 17 ошибок
0
27.12.2009, 18:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2009, 18:51
Привет! Вот еще темы с ответами:

Найти максимальные элементы главной и побочной диагоналей матрицы и поменять их местами - C++
Дана матрица nxn. Найти максимальные элементы главной и побочной диагоналей матрицы и поменять их местами. Нашел максимальные элементы,...

Поменять местами элементы главной и побочной диагоналей, симметричные относительно центра матрицы - C++
Задана квадратичная матрица размером nxn поменять местами элементы главной и побочной диагоналей симметричные относительно центра...

Поменять местами минимальный элемент главной диагонали и максимальный элемент побочной диагонали в матрице - C++
Всем привет! Помогите пожалуйста сделать задание по программированию, что бы получить допуск к экзамену :) В матрице А, сформированной...

Поменять местами максимальный элемент главной диагонали и элемент, лежащий на пересечении главной и побочной диагоналей - C++
В квадратной матрице А поменять местами максимальный элемент главной диагонали и элемент, лежащий на пересечении главной и побочной...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru