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

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

Войти
Регистрация
Восстановить пароль
 
sir_90115
8 / 8 / 1
Регистрация: 08.11.2009
Сообщений: 78
#1

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

01.03.2011, 11:04. Просмотров 623. Ответов 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++
#include <math.h> #include <iostream> using namespace std; typedef int (*pfur)(int); int *massiv(int,pfur); int f(int x); ...

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

Произведение элементов одномерного массива с использованием рекурсивной функции - C++
Пожалуйста помогите решите задачу: Произведение элементов одномерного массива с помощью рекурсивной функции.

Сумма элементов массива, от первого до последнего нулевого, с использованием функции - C++
Практически готово, только при компиляции ошибка, не могу понять где: #include <iostream> using namespace std; int summa(int); ...

Программа для вычисления суммы и произведения элементов массива с использованием функции - C++
Программа для вычисления суммы и произведения элементов массива с использованием функции.Рассмотреть возможность образения к этим функциям...

Написать программу с использованием функции и с использованием макроса - C++
Составить две программы вычисления функции F и сравнить результаты ***** - Используя объявления макроса; ***** - Используя обращение к...

Преобразование типов с использованием dynamic_cast - C++
Создать иерархию классов Grandpa-> Daddy-> Son. o Класс Grandpa имеет виртуальную функцию Sleep(). o Класси Daddy та Son имеют...

Преобразование кода без указателя в код с использованием указателя - C++
Правильно ли выполнил? Исходный код без указателя #include <iostream> #include <cstdlib> #include <fstream> using namespace...

Преобразование указателей на функции - C++
Добрый вечер, очень давно я не объявлялся. Буквально несколько месяцев даже не садился прогать за сипипи. :) Итак, к делу. Вопрос...

Преобразование функции в оператор - C++
Как преобразовать функцию объединения двух множеств в оператор класса? #include <iostream> #include <vector> #include <algorithm> ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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;
}
Ответ Создать тему
Опции темы

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