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

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

Войти
Регистрация
Восстановить пароль
 
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
#1

Вставить в матрицу столбец - C++

25.10.2011, 13:01. Просмотров 536. Ответов 4
Метки нет (Все метки)

даны дейвствительеные числа а1...аn, дейвствительная квадратная матрица порядка n(n>6). получить дейвствительную матрицу размера nx(n+1), вставим в исходную матрицу между пятым и шестым столбцами новый столбец с элементами а1...аn
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2011, 13:01     Вставить в матрицу столбец
Посмотрите здесь:

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

умножить матрицу на столбец - C++
матрица квадратная

После столбца матрицы с номером K вставить столбец из единиц - C++
"Last row, which contains even elements:" << lastEvenRow + 1 #include <iostream> #include <iomanip> using namespace std; ...

После столбца матрицы с номером K вставить столбец из единиц - C++
Matrix69. Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). После столбца матрицы с номером K вставить столбец из единиц. просто...

Взять матрицу 3 на 3 и заменить столбец... - C++
Взять матрицу 3 на 3 и заменить столбец, номер которого вводится с клавиатуры, на единицу.

Вставить после столбцов,содержащий максимальный элемент массива,столбец из нулей. - C++
Вставить после столбцов,содержащий максимальный элемент массива,столбец из нулей. ПОМОГИ ТЕ ПЛИЗ

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.10.2011, 13:19     Вставить в матрицу столбец #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
#include <vector>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <ctime>
 
enum
{
   MAX_VAL = 100,
   WHERE = 5
};
 
template <typename value_type>
void print_vector(const std::vector<value_type>& vector)
{
   std::copy(vector.begin(), vector.end(), std::ostream_iterator<value_type>(std::cout, " "));
   std::cout << std::endl;
}
 
int main()
{
   srand(static_cast<unsigned int>(time(NULL)));
 
   unsigned short int n;
   std::cout << "Enter the N" << std::endl;
   std::cin >> n;
 
   std::vector<double> a(n);
   std::vector<std::vector<double> > matrix(n, std::vector<double>(n));
 
   for (std::vector<std::vector<double> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
      for (std::vector<double>::iterator j = i->begin(), end = i->end(); j != end; ++j)
         *j = rand() % MAX_VAL;
 
   for (auto i = a.begin(), end = a.end(); i != end; ++i)
      *i = rand() % MAX_VAL;
 
   std::cout << "Vector a: " << std::endl;
   print_vector<double>(a);
 
   std::cout << std::endl << "Matrix: " << std::endl;
   std::for_each(matrix.begin(), matrix.end(), &print_vector<double>);
 
   std::cout << std::endl << "Inserting" << std::endl;
   std::vector<double>::const_iterator a_iterator = a.begin();
   for (std::vector<std::vector<double> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
      i->insert(i->begin() + WHERE, 1, *a_iterator++);
 
   std::cout << std::endl << "Matrix after inserting: " << std::endl;
   std::for_each(matrix.begin(), matrix.end(), &print_vector<double>);
 
   return EXIT_SUCCESS;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
25.10.2011, 20:36  [ТС]     Вставить в матрицу столбец #3
Спасиб большое...а можно как то проще...без процедуры...циклы и все...

Добавлено через 7 часов 11 минут
Цитата Сообщение от sandye51 Посмотреть сообщение
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
#include <vector>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <ctime>
 
enum
{
   MAX_VAL = 100,
   WHERE = 5
};
 
template <typename value_type>
void print_vector(const std::vector<value_type>& vector)
{
   std::copy(vector.begin(), vector.end(), std::ostream_iterator<value_type>(std::cout, " "));
   std::cout << std::endl;
}
 
int main()
{
   srand(static_cast<unsigned int>(time(NULL)));
 
   unsigned short int n;
   std::cout << "Enter the N" << std::endl;
   std::cin >> n;
 
   std::vector<double> a(n);
   std::vector<std::vector<double> > matrix(n, std::vector<double>(n));
 
   for (std::vector<std::vector<double> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
      for (std::vector<double>::iterator j = i->begin(), end = i->end(); j != end; ++j)
         *j = rand() % MAX_VAL;
 
   for (auto i = a.begin(), end = a.end(); i != end; ++i)
      *i = rand() % MAX_VAL;
 
   std::cout << "Vector a: " << std::endl;
   print_vector<double>(a);
 
   std::cout << std::endl << "Matrix: " << std::endl;
   std::for_each(matrix.begin(), matrix.end(), &print_vector<double>);
 
   std::cout << std::endl << "Inserting" << std::endl;
   std::vector<double>::const_iterator a_iterator = a.begin();
   for (std::vector<std::vector<double> >::iterator i = matrix.begin(), end = matrix.end(); i != end; ++i)
      i->insert(i->begin() + WHERE, 1, *a_iterator++);
 
   std::cout << std::endl << "Matrix after inserting: " << std::endl;
   std::for_each(matrix.begin(), matrix.end(), &print_vector<double>);
 
   return EXIT_SUCCESS;
}
простыми циклами можно...без вот этих функций

Добавлено через 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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int matr[6][6];
    int ma [6];
    int i,j;
 
 srand((unsigned)time(NULL));
for( i=0; i<7; i++)
for( j=0; j<7; j++)
matr[i][j]=rand()%100;
for( i=0; i<6;i++)
{
printf("\n");
for( j=0; j<6; j++)
 
printf(" %2i",matr[i][j]);
}
 
}
что дальше
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
31.10.2011, 19:47  [ТС]     Вставить в матрицу столбец #4
посмотрите...?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 15:16     Вставить в матрицу столбец
Еще ссылки по теме:

Добавить строку/столбец в двумерный массив (Матрицу) - C++
Уважаемые форумчане подскажите возможно ли добавить строку/столбец в двумерный не динамический массив на си или c++ ? P.S Если можно...

После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. - C++
Дана матрица размера M × N. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых...

После каждого столбца, содержащего число а три раза вставить последний столбец - C++
Например а=4 3 4 9 3 4 8 3 7 3 5 3 5 5 2 2 4 5 6 4 2 4 2 4 4 5 4 4 2 преобразовать в 3 4 3 9 3 4 3 8 3 7 3 2 5 3 5...

Вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента - C++
Вставить новый столбец после столбца, в котором нет ни одного отрицательного элемента. Написала ее. исправьте ошибки #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
07.11.2011, 15:16  [ТС]     Вставить в матрицу столбец #5
решил
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int matr[6][6];
    int ma [6];
    int mat [7][7];
    int i,j;
srand((unsigned)time(NULL));
for( i=0; i<6; i++)
for( j=0; j<6; j++)
matr[i][j]=rand()%100;
for( i=0; i<6;i++)
ma[i]=i+1;
//
  printf("isxodnaj matrica");
  for( i=0; i<6;i++)
  {
  printf("\n");
  for( j=0; j<6; j++)
  printf(" %2i",matr[i][j]);
  }
//
    for( i=0; i<6; i++)
    for( j=0; j<5; j++)
    mat[i][j]=matr[i][j];
//
      for( i=0; i<6; i++)
      for( j=5; j<6; j++)
      mat[i][j+1]=matr[i][j];
//
       for( i=0; i<6; i++)
       for( j=5; j<6; j++)
       mat[i][j]=ma[i];
//
printf("\n");
printf("resulbtat");
//
         for( i=0; i<6;i++)
         {
         printf("\n");
         for( j=0; j<7; j++)
         printf(" %2i",mat[i][j]);
         }
}
Yandex
Объявления
07.11.2011, 15:16     Вставить в матрицу столбец
Ответ Создать тему
Опции темы

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