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

как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? - C++

Восстановить пароль Регистрация
 
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 22:18     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #1
помогите пож-та!
у меня есть матрица пож-та напишите кто -нибудь как в каждой строчке этой матрицы поменять местами 3 и 5 элементы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2011, 22:18     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы?
Посмотрите здесь:

C++ дана матрица A(5*6) поменять местами в этой матрицы элементы
Как найти максимальный элемент в каждой строчке матрицы ? C++
C++ Найти наибольший и наименьший элементы каждой строки прямоугольной матрицы и поменять их местами
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
Поменять большие элементы в строке матрицы с маленькими элементами этой же матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
03.07.2011, 22:36     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #2
blak,

C
1
2
3
4
5
6
for (size_t i = 0; i < N; ++i)
{
   temp = A[i][2];
   A[i][2] = A[i][4];
   A[i][4] = temp;
}
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
03.07.2011, 22:48     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #3
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define ROWS 5
#define COLUMNS 8
#define EL1 3
#define EL2 5
 
#if EL1 > COLUMNS || EL2 > COLUMNS
    #error "Incorrect numbers of elements to swap"
#endif
 
void swap_int(int &a, int &b)
{
    int tmp = a;
    a = b;
    b = tmp;
}
 
int main()
{
    int m[ROWS][COLUMNS];
    size_t i;
    size_t j;
    
    srand(time(NULL));
    printf("Matrix before:\n");
    for (i = 0; i < ROWS; ++i) {
        for (j = 0; j < COLUMNS; ++j) {
            m[i][j] = rand() % 21 - 10;
            printf("%3d", m[i][j]);
        }
        printf("\n");
    }
 
 
    printf("After: \n");
    for (i = 0; i < ROWS; ++i) {
        swap_int(m[i][EL1 - 1], m[i][EL2 - 1]);
        for (j = 0; j < COLUMNS; ++j)
            printf("%3d", m[i][j]);
        printf("\n");
    }
    exit(0);
}
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 22:59  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #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
30
31
#include<iostream.h>
#include<time.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
 int main()
 { int i,j,n,m,temp;
 int A[50][60];
 cout<<"vvedite kol-vo strok m= ";
 cin>>n;
 cout<<"vvedine kol-vo stolbcov n= ";
 cin>>m;
 for(i=0;i<=m;i++)
 for(j=0;j<=n;j++)
{ cout<<" vvedite A["<<i<<"]["<<j<<"]=";
  cin>>A[i][j]; }
  for (i=0; i<m; i++)
   { for (i=0; i<n; j++) 
   cout<<A[i][j]<<" ";
  
              cout<<"\n"; }
  { 
 for (size_t i = 0; i< m; ++i)
{
   temp = A[i][2];
   A[i][2] = A[i][4];
   A[i][4] = temp;
} 
                                      
getch();
}}
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
03.07.2011, 23:03     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #5
Цитата Сообщение от blak Посмотреть сообщение
for(i=0;i<=m;i++)
*for(j=0;j<=n;j++)
на

C++
1
2
for(i=0;i<m;i++)
 for(j=0;j<n;j++)
Первое что бросилось в глаза..
Хотя не в этом проблема..
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 23:09  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #6
все равно не работает!когда ввожу элементы матрицы на каком нибудь месте меня все время выкидывает!
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
03.07.2011, 23:16     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #7
blak,
Цитата Сообщение от blak Посмотреть сообщение
for (i=0; i<m; i++)
* *{ for (i=0; i<n; j++)
* *cout<<A[i][j]<<" ";
cout<<"\n"; }
на

C
1
2
3
4
5
 for (i=0; i<m; i++)
   { for (j=0; j<n; j++) 
   cout<<A[i][j]<<" ";
  
                          cout<<"\n"; }
Мимо глаз прошел этот момент
KaiTheCat
К.О.
 Аватар для KaiTheCat
531 / 496 / 163
Регистрация: 26.03.2011
Сообщений: 1,141
03.07.2011, 23:17     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #8
Когда пишут "поменять местами 3 и 5 элементы", то нужно отсчитывать 3-й и 5-й с нуля или с единицы?
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
03.07.2011, 23:24     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #9
KaiTheCat, ну с нуля по идеи, если мы не берем во внимание язык Паскаль (и др.), в котором индексация в массиве с единицы начинается (если я не ошибаюсь).

Добавлено через 1 минуту
Ну а вообще в линейной алгебре индексация в матрицах с 1..
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
03.07.2011, 23:31     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #10
Цитата Сообщение от nameless Посмотреть сообщение
KaiTheCat, ну с нуля по идеи, если мы не берем во внимание язык Паскаль (и др.), в котором индексация в массиве с единицы начинается (если я не ошибаюсь).

Добавлено через 1 минуту
Ну а вообще в линейной алгебре индексация в матрицах с 1..
В основном программы расчитаны на пользователя, а не на прогрммиста, а пользователь, как правило обычный человек, при пересчете каких-либо сущностей начианет счет с одного...
Если бы было "элементы с индексами.." тогда, да, с нуля.
KaiTheCat
К.О.
 Аватар для KaiTheCat
531 / 496 / 163
Регистрация: 26.03.2011
Сообщений: 1,141
03.07.2011, 23:34     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #11
nameless, т.е. если говорят "3 и 5", то менять 2 и 4, потому что выводим тоже с нулевых индексов? Ясно, спасибо

Добавлено через 1 минуту
Net_Wanderer, они и в Си с первого отсчитывают?>< печально
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 23:39  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #12
выдает такой рез-тат(см.картинку)!что делать? ((
Миниатюры
как в каждой строчке этой матрицы поменять местами 3 и 5 элементы?  
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 23:49  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #13
я исправил эту ошибку,но все равно не меняются местами элементы!что делать помогите пож-та!
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
#include<iostream.h>
#include<time.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
 int main()
 { int i,j,n,m,temp;
 int A[50][60];
 cout<<"vvedite kol-vo strok m= ";
 cin>>n;
 cout<<"vvedine kol-vo stolbcov n= ";
 cin>>m;
 for(i=0;i<m;i++)
 for(j=0;j<n;j++)
{ cout<<" vvedite A["<<i<<"]["<<j<<"]=";
  cin>>A[i][j]; }
  for (i=0; i<m; i++)
   { for (j=0; j<n; j++) 
   cout<<A[i][j]<<" ";
  
              cout<<"\n"; }
  { 
 for (size_t i =0 ; i< m; i++)
 { 
   temp = A[i][2];
   A[i][2] = A[i][4];
   A[i][4] = temp;
} 
                                      
getch();
 
 
}
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
03.07.2011, 23:54     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #14
Вы выводите матрицу до того как меняете местами элементы.
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
03.07.2011, 23:55  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #15
и что мне нужно поменять?
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
04.07.2011, 00:02     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #16
Цитата Сообщение от blak Посмотреть сообщение
и что мне нужно поменять?
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
#include<iostream.h>
#include<time.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>
 int main()
 { int i,j,n,m,temp;
 int A[50][60];
 cout<<"vvedite kol-vo strok m= ";
 cin>>n;
 cout<<"vvedine kol-vo stolbcov n= ";
 cin>>m;
 for(i=0;i<m;i++)
 for(j=0;j<n;j++)
{ cout<<" vvedite A["<<i<<"]["<<j<<"]=";
  cin>>A[i][j]; }
  for (i=0; i<m; i++)
  { 
       temp = A[i][2];
       A[i][2] = A[i][4];
       A[i][4] = temp;
       for (j=0; j<n; j++) 
           cout<<A[i][j]<<" ";
  
       cout<<"\n";
  }
                                                   
getch();
 
 
}
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
04.07.2011, 14:00  [ТС]     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #17
спасибо!
помогите пож-та в этой же программе предусмотреть меню:
 ввод данных с клавиатуры;
 ввод данных из файла;
 выход.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 19:26     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы?
Еще ссылки по теме:

C++ Поменять в матрице местами максимальный и минимальный элементы каждой строки
Поменять местами в каждой строке матрицы минимальный и максимальный элементы, подскажите ошибки C++
Матрицы: элементы главной диагонали поменять местами с максимальным элементом в каждой строке C++

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.07.2011, 19:26     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы? #18
Цитата Сообщение от nameless Посмотреть сообщение
в котором индексация в массиве с единицы начинается
ну это как объявишь

Цитата Сообщение от nameless Посмотреть сообщение
ну с нуля по идеи, если мы не берем во внимание язык
Ну ведь здесь матрица, т.е. 3-ий элемент (считая от единицы) это 2-ой элемент (в Си считая от нуля)
Yandex
Объявления
05.07.2011, 19:26     как в каждой строчке этой матрицы поменять местами 3 и 5 элементы?
Ответ Создать тему
Опции темы

Текущее время: 12:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru