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

Сформировать матрицу по правилу - C++

Восстановить пароль Регистрация
 
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 19:34     Сформировать матрицу по правилу #1
Здраствуйте, помогите пожалуйста написать это в С++
Буду очень благодарна!!!
Миниатюры
Сформировать матрицу по правилу  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.10.2013, 19:45     Сформировать матрицу по правилу #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1.
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
#include <iostream>
 
int main()
{
  const int N = 5;
  int matrix[N][N];
 
  for(int i = 0; i < N; ++i)
  {
    for(int j = 0; j < N; ++j)
    {
      if(i == j)
        matrix[i][j] = i;
      else
        matrix[i][j] = 0;
    }
  }
 
  for(int i = 0; i < N; ++i)
  {
    for(int j = 0; j < N; ++j)
      std::cout << ' ' << matrix[i][j];
    std::cout << '\n';
  }
}
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 19:52  [ТС]     Сформировать матрицу по правилу #3
спасибо огромное! очень благодарна) а 2 задачу не подскажите?

Добавлено через 3 минуты
а еще вопрос, как сделать чтобы число N вводилось с клавиатуры?
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.10.2013, 20:26     Сформировать матрицу по правилу #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Анета Посмотреть сообщение
а еще вопрос, как сделать чтобы число 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
#include <cstdlib>
#include <iostream>
 
int main()
{
  using std::cin;
  using std::cout;
 
  const int N = 20;
  int matrix[N][N];
 
  int n;
  cout << "n(2.." << N << "): ";
  cin >> n;
  if(!cin || (n < 2) || (n > N))
    return EXIT_FAILURE;
 
  for(int i = 0; i < n; ++i)
  {
    for(int j = 0; j < n; ++j)
    {
      if(i == j)
        matrix[i][j] = i;
      else
        matrix[i][j] = 0;
    }
  }
 
  for(int i = 0; i < n; ++i)
  {
    for(int j = 0; j < n; ++j)
    {
      cout.width(3);
      cout << matrix[i][j];
    }
    cout << '\n';
  }
 
  return EXIT_SUCCESS;
}
Добавлено через 7 минут
Или вам нужно выделять память динамически?
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 21:01  [ТС]     Сформировать матрицу по правилу #5
про динамически ничего не сказано, не думаю, что надо

Добавлено через 23 минуты
вторую задачу помогите пожалуйстаааа
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 21:31     Сформировать матрицу по правилу #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int max=INT_MIN,min=INT_MAX;
int buf=0,jx,jn;
for(int i=0;i<N;i++)
 {
   for(int j=0;j<M;j++)
   { 
     if(matrix[i][j]>max)
    {
      max=matrix[i][j];
      jx=j;
    }
    if(matrix[i][j]<min)
   {
    min=matrix[i][j];
    jn=j;
   }
  }
 buf=matrix[i][jx];
 matrix[i][jx]=matrix[i][jn];
 matrix[i][jn]=buf;
}
Цикл в котором происходит замена. Не компилировал так что за точность не ручаюсь но принцип примерно такой
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 21:51  [ТС]     Сформировать матрицу по правилу #7
а это нужно вставить в предыдущую задачку? или она отдельно?
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 21:54     Сформировать матрицу по правилу #8
это нужно вставить после того как вы создали матрицу.
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 22:00  [ТС]     Сформировать матрицу по правилу #9
походу я очень тупая и у меня ничего не получается)
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 22:00     Сформировать матрицу по правилу #10
Сначала создаете матрицу МхN. Ну к примеру так:
C++
1
2
3
4
5
6
for(int i=0;i<N;i++)
 {
 for(int j=0;j<M;j++)
   cin>>matrix[i][j];
 cout<<endl;
 }
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.10.2013, 22:16     Сформировать матрицу по правилу #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
2.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <ctime>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
  const int W = 5;
  const int N = 20;
  int matrix[N][N];
 
  int m;
  cout << "m(1.." << N << "): ";
  cin >> m;
  if(!cin || (m < 1) || (m > N))
    return EXIT_FAILURE;
 
  int n;
  cout << "n(1.." << N << "): ";
  cin.ignore(200, '\n');
  cin >> n;
  if(!cin || (n < 1) || (n > N))
    return EXIT_FAILURE;
 
  srand(time(NULL));
  cout << "Before:\n";
  for(int i = 0; i < m; ++i)
  {
    for(int j = 0; j < n; ++j)
    {
      matrix[i][j] = rand() % 100;
      cout.width(W);
      cout << matrix[i][j];
    }
    cout << '\n';
  }
 
  for(int i = 0; i < m; ++i)
  {
    int max = 0, min = 0;
    for(int j = 1; j < n; ++j)
    {
      if(matrix[i][j] > matrix[i][max])
        max = j;
      if(matrix[i][j] < matrix[i][min])
        min = j;
    }
    int t = matrix[i][min];
    matrix[i][min] = matrix[i][max];
    matrix[i][max] = t;
  }
 
  cout << "\nAfter:\n";
  for(int i = 0; i < m; ++i)
  {
    for(int j = 0; j < n; ++j)
    {
      cout.width(W);
      cout << matrix[i][j];
    }
    cout << '\n';
  }
 
  return EXIT_SUCCESS;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2013, 22:21     Сформировать матрицу по правилу
Еще ссылки по теме:

Матрицу A (m, n) заполнить по указанному правилу C++
Сформировать матрицу размером 10*19 по указанному правилу C++
Умножение матрицы на матрицу по правилу C++

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

Или воспользуйтесь поиском по форуму:
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 22:21  [ТС]     Сформировать матрицу по правилу #12
как все сложно(((

Добавлено через 5 минут
спасибо огромное! выручили)))
Yandex
Объявления
25.10.2013, 22:21     Сформировать матрицу по правилу
Ответ Создать тему
Опции темы

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