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

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

Восстановить пароль Регистрация
 
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
25.10.2011, 13:01     вставить в матрицу столбец #1
даны дейвствительеные числа а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++
После столбца матрицы с номером K вставить столбец из единиц C++
C++ Взять матрицу 3 на 3 и заменить столбец...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 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
посмотрите...?
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     вставить в матрицу столбец
Ответ Создать тему
Опции темы

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