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

Преобразование массива с использованием функции - C++

Восстановить пароль Регистрация
 
sir_90115
8 / 8 / 1
Регистрация: 08.11.2009
Сообщений: 78
01.03.2011, 11:04     Преобразование массива с использованием функции #1
На языке С написать с помощью функции программу.

Задание:
Дана матрица А[1:6,1:6] и вектор B[1:6]. Из сумм элементов строк матрицы сформировать вектор C. Если минимальный элемент вектора C кратен минимальному элементу вектора B, то из положительных элементов матрицы А сформировать вектор D и упорядочить его по возрастанию. Иначе матрицу А упорядочить по возрастанию.

Заранее благодарен...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2011, 11:04     Преобразование массива с использованием функции
Посмотрите здесь:

C++ Сумма элементов массива, от первого до последнего нулевого, с использованием функции
Преобразование массива C++
Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin C++
C++ Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
C++ Преобразование типа функции (метода)
C++ Программа для вычисления суммы и произведения элементов массива с использованием функции
Внутреннее устройство многомерного массива и неявное преобразование массива в указатель C++
Написать программу с использованием функции и с использованием макроса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.03.2011, 21:25     Преобразование массива с использованием функции #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
67
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <numeric>
 
int RandomNumber() {
  return rand() % 20 - 10;
}
 
int RandomizeVector(std::vector<int> &vector) {
  std::generate(vector.begin(), vector.end(), RandomNumber);
}
 
void Print(int number) {
  std::cout << std::setw(4) << number;
}
 
void PrintArray(std::vector<int> array) {
  std::for_each(array.begin(), array.end(), Print);
  std::cout << std::endl;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
 
  std::vector< std::vector<int> > array(6, std::vector<int>(6));
  std::for_each(array.begin(), array.end(), RandomizeVector);
  std::for_each(array.begin(), array.end(), PrintArray);
  std::cout << std::endl;
 
  std::vector<int> array_b(6);
  std::generate(array_b.begin(), array_b.end(), RandomNumber);
  std::for_each(array_b.begin(), array_b.end(), Print);
  std::cout << std::endl<< std::endl;
 
  std::vector<int>  array_c;
  std::vector< std::vector<int> >::iterator i;
  for (i = array.begin(); i != array.end(); ++i)
    array_c.push_back(std::accumulate((*i).begin(), (*i).end(), 0));
  std::for_each(array_c.begin(), array_c.end(), Print);
  std::cout << std::endl << std::endl;
 
  if (*std::min_element(array_c.begin(), array_c.end()) %
      *std::min_element(array_b.begin(), array_b.end())) {
    std::vector<int> array_d;
    std::vector< std::vector<int> >::iterator i;
    std::vector<int>::iterator j;
    for (i = array.begin(); i != array.end(); ++i)
      for (j = (*i).begin(); j != (*i).end(); ++j)
        if (*j > 0) array_d.push_back(*j);
    std::for_each(array_d.begin(), array_d.end(), Print);
    std::cout << std::endl;
  } else {
    // сортируются строки матрицы вместо представления
    // матрицы как единого вектора и его сортировки.
    std::vector< std::vector<int> >::iterator i;
    for (i = array.begin(); i != array.end(); ++i)
      std::sort((*i).begin(), (*i).end());
    std::for_each(array.begin(), array.end(), PrintArray);
    std::cout << std::endl;
  }
 
  return 0;
}
Yandex
Объявления
07.03.2011, 21:25     Преобразование массива с использованием функции
Ответ Создать тему
Опции темы

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