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

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

Войти
Регистрация
Восстановить пароль
 
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
#1

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

25.10.2013, 19:34. Просмотров 336. Ответов 11
Метки нет (Все метки)

Здраствуйте, помогите пожалуйста написать это в С++
Буду очень благодарна!!!
0
Миниатюры
Сформировать матрицу по правилу  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 19:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать матрицу по правилу (C++):

Сформировать матрицу по правилу - C++
1. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по...

Сформировать матрицу по правилу - C++
Помогите пожалуйста. Нужно создать квадратную матрицу целых чисел размером 9х9. Задание прикреплено файлом с изображением. Вот ссылка на...

Сформировать матрицу по правилу - C++
Люди добрые помогите пожалуйста написать на С двумерный массив такого вида: http://s51.***********/i132/0912/21/878c45310e2b.jpg Я знаю,...

Сформировать матрицу по заданному правилу - C++
Здравствуйте! Подскажите пожалуйста где моя ошибка!? На грядках посажена капуста и морковь. Грядки расположены рядом и образуют...

Сформировать матрицу размером 10*19 по указанному правилу - C++
Сформировать матрицу размером 10*19 по следующему правилу.В первой строке средний (десятый) элемент равен 1, остальные элементы нулевые,...

Из массива сформировать матрицу по заданному правилу - C++
Дан вектор Y размером n. Получить матрицу порядка n x m по таким правилам: а (i,j)=y(i), i є , j є . (завал, весь день пытаюсь решить,...

11
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
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';
  }
}
1
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 19:52  [ТС] #3
спасибо огромное! очень благодарна) а 2 задачу не подскажите?

Добавлено через 3 минуты
а еще вопрос, как сделать чтобы число N вводилось с клавиатуры?
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
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 минут
Или вам нужно выделять память динамически?
1
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 21:01  [ТС] #5
про динамически ничего не сказано, не думаю, что надо

Добавлено через 23 минуты
вторую задачу помогите пожалуйстаааа
0
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;
}
Цикл в котором происходит замена. Не компилировал так что за точность не ручаюсь но принцип примерно такой
1
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 21:51  [ТС] #7
а это нужно вставить в предыдущую задачку? или она отдельно?
0
Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
25.10.2013, 21:54 #8
это нужно вставить после того как вы создали матрицу.
0
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 22:00  [ТС] #9
походу я очень тупая и у меня ничего не получается)
0
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;
 }
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
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;
}
0
Анета
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 67
25.10.2013, 22:21  [ТС] #12
как все сложно(((

Добавлено через 5 минут
спасибо огромное! выручили)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2013, 22:21
Привет! Вот еще темы с ответами:

Из массива сформировать матрицу по заданному правилу - C++
Помогите написать код. вот задание вариант Б П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других...

Сформировать матрицу по правилу и записать в файл - C++
Матрицу К(m, n) заполнить следующим образом. Элементам, находящимся на периферии (по периметру матрицы), присвоить значение 1; периметру...

Из данных вектора сформировать матрицу по заданному правилу - C++
Дан вектор Y размером n. Получить матрицу порядка n x m, по таким правилам: aij=yj^i ( в степени i), i є , j є . Помогите пожалуйста,...

Из двух матриц сформировать прямоугольную матрицу по заданному правилу - C++
Всем привет! кто может подсказать хороший транслятор или помочь перевести на с++ ?? Var a,b: Array of Integer; p: Array of...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
25.10.2013, 22:21
Ответ Создать тему
Опции темы

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