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

Составить вектор - C++

Восстановить пароль Регистрация
 
sprocket
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 22
19.03.2012, 17:36     Составить вектор #1
оригинал
Cкласти вектор В[i]m , елементи якого дорівнюють добут-ку min елемента відповідного рядка та суми max значень стовбчиків масиву A[ij]m,n.


Составить вектор В[i] m, элементы которого равны произведению min элемента соответствующей строки и суммы max значений столбиков массива A[ij]m,n.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2012, 17:36     Составить вектор
Посмотрите здесь:

C++ Вектор. Составить программу изминения нулей в векторе
C++ Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы
составить вектор без нулевых элементов C++
Создать иерархию классов вектор и безопасный вектор с проверкой выхода за пределы C++
C++ Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,511
19.03.2012, 18:45     Составить вектор #2
sprocket, ну и? Ищите свои хитрые суммы элементов по масиву, а потом через push_back() заталкиваете их в вектор по очереди. Задача тривиальная.
sprocket
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 22
19.03.2012, 20:15  [ТС]     Составить вектор #3
А как найти максимальный элемент в каждом столбце?
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
19.03.2012, 20:51     Составить вектор #4
Цитата Сообщение от sprocket Посмотреть сообщение
А как найти максимальный элемент в каждом столбце?
это же очевидно, перебрать все элементы столбца и найти наибольший и так для каждого столбца
sprocket
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 22
19.03.2012, 21:16  [ТС]     Составить вектор #5
ну а как это должно выглядить в коде?
Kidasov
76 / 76 / 12
Регистрация: 02.12.2011
Сообщений: 966
Записей в блоге: 3
19.03.2012, 21:52     Составить вектор #6
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <cstdlib>
#include <vector>
 
using namespace std;
 
const int M = 3;  //количество строк
const int N = 3;  //количесвто столбцов
 
//ввод матрицы с клавиатуры
void input(int **a)
{
  cout << "Enter matrix : \n";
  for (int i=0; i<M; i++)
  {
    for (int j=0; j<N; j++)
      cin >> a[i][j] ;
  }
  cout<<"\n";
}
 
//вывод матрицы
void output(int **a)
{
  cout << " Matrix: \n" ;
  for (int i=0; i<M; i++)
  {
    for (int j=0; j<N; j++)
      cout<<a[i][j]<<"\t";
    cout<<"\n";
  }
}
 
//удаление динамически созданной матрицы
void del(int **a)
{
  for (int i=0; i<M; i++)
  {
    delete []a[i];
  }
  delete []a;
}
 
//нахождения минимумов в строках матрицы
int *findMinimumInString(int **a) {
    int *buf = new int[M]; //массив минимумов
    for (int i = 0; i < M; i++) {
        int min = a[i][0];
        for (int j = 0; j < N; j++) {
            if (a[i][j] < min) { min = a[i][j];}
        }
        buf[i] = min;
    }
    return buf;
}
 
//функция нахождения суммы максимумов в столбцах
int findSumMaxColumns(int **a) {
    int max = a[0][0], sum = 0;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            if (a[j][i] > max) max = a[j][i];
        }
        sum += max;
    }
    return sum;
}
 
int  main()
{
  int *buf = new int[M];
  int **a = new int *[M]; //матрица M*N
  
  for (int i=0; i<M; i++)
  {
    a[i] = new int [N];
  }
  
  input(a);
  output(a);
  
  buf = findMinimumInString(a);
  int sumMaxColumns = findSumMaxColumns(a);
  
  cout << "Sum max in rows : " << sumMaxColumns << endl;
  cout << "Min in strings :  ";
  
  for (int i = 0; i < M; i++) {
      cout << buf[i] << " ";
  }
  
  cout<<endl;
  vector<int> myvector;
  
  for (int i = 0; i < M; i++) {
      myvector.push_back(sumMaxColumns * buf[i]);
  }
  cout << "Myvector elements : " ;
  for (vector<int>::iterator it = myvector.begin(); it!=myvector.end(); ++it) {
      cout << *it << " " ;
  }
  cout<<endl;
  delete buf;
  del(a);
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2012, 22:06     Составить вектор
Еще ссылки по теме:

Составить вектор из сумм элементов диагоналей, параллельных главной диагонали C++
C++ Составить вектор из положительных элементов каждой строки
C++ Нужно реализовать класс "вектор" с конструкторами, которые позволяют создать нулевой вектор и вектор с произвольным кол-во элементов.

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

Или воспользуйтесь поиском по форуму:
sprocket
0 / 0 / 0
Регистрация: 19.03.2012
Сообщений: 22
19.03.2012, 22:06  [ТС]     Составить вектор #7
Спасибо большое.
Yandex
Объявления
19.03.2012, 22:06     Составить вектор
Ответ Создать тему
Опции темы

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