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

Не получается дописать программу по массивам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Инкрементальное увеличение значения указателя не работает http://www.cyberforum.ru/cpp-beginners/thread443381.html
Сразу скажу, что практической цели никакой нет, просто пытаюсь понять принцип работы изменения значения указателя. Есть такой код: int main() { int a; int * b, * c, * d; a = 5;...
C++ Обучающие задачки 1.Заменить в строке символьные константы вида 'А', 'B' и т.д. на соответствующие шестнадцатеричные (т.е. 'А' на 0x41 и т.д.). 2.Сортировка вставками. Берется очередной элемент и извлекается из... http://www.cyberforum.ru/cpp-beginners/thread443373.html
C++ помогите решить задачу по классам
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти. • Конструктор для их создания (операция new) и установки их...
C++ Обратная матрица
Доброго времени суток Нужно написать прогу, которая решает СЛАУ методом обратной матрицы Однако, моя программа не работает правильно для всех случаев #include <stdio.h> #include <stdlib.h>...
C++ матричная прогонка http://www.cyberforum.ru/cpp-beginners/thread443358.html
нужно написать консольную программу на visual c ++ 6.00 ну или на более ранних заранее благодарю
C++ Записует только одну букву в файл текс в файл Программа должна открывать один файл и содержимое его записать в другой файл . Вот код программы: #include <iostream> #include <fstream> #include <string> using namespace std; int main() {... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
09.02.2012, 14:51
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
#include <vector>
#include <iostream>
#include <random>
#include <algorithm>
#include <iterator>
#include <ctime>
 
int main()
{
   const size_t rows = 4;
   const size_t cols = 7;
   const int min = 1;
   const int max = 100;
   const int mod = 3;
   std::vector<std::vector<int>> vec(rows);
   std::mt19937 gen(std::time(0));
   std::uniform_int_distribution<> distr(min, max);
   std::generate(vec.begin(), vec.end(), [&gen, &distr, cols]() -> std::vector<int>
   {
      std::vector<int> temp(cols);
      std::generate(temp.begin(), temp.end(), [&gen, &distr]() {return distr(gen);});
      return temp;
   });
   std::cout << "Matrix" << std::endl;
   std::for_each(vec.begin(), vec.end(), [](const std::vector<int>& temp)
   {
      std::copy(temp.begin(), temp.end(), std::ostream_iterator<int>(std::cout, " "));
      std::cout << std::endl;
   });
   std::vector<int> mod_n;
   std::pair<int, int> minmax(vec[0][0], vec[0][0]);
   std::for_each(vec.begin(), vec.end(), [&mod_n, &minmax, mod](const std::vector<int>& temp)
   {
      std::copy_if(temp.begin(), temp.end(), std::back_inserter(mod_n), [mod](const int value) {return !(value % mod);});
      auto temp_minmax = std::minmax_element(temp.begin(), temp.end());
      minmax = std::make_pair(std::min(minmax.first, *temp_minmax.first), std::max(minmax.second, *temp_minmax.second));
   });
   std::vector<int> min_rows;
   std::vector<int> max_rows;
   int cnt = 1;
   std::for_each(vec.begin(), vec.end(), [minmax, &min_rows, &max_rows, &cnt](const std::vector<int>& temp)
   {
      if (std::count(temp.begin(), temp.end(), minmax.first))
      {
         min_rows.push_back(cnt);
      }
      if (std::count(temp.begin(), temp.end(), minmax.second))
      {
         max_rows.push_back(cnt);
      }
      ++cnt;
   });
   std::sort(mod_n.begin(), mod_n.end(), [](const int first, const int second) {return first > second; });
 
   if (!mod_n.empty())
   {
      std::cout << "Numbers that modulus on: " << mod << std::endl;
      std::copy(mod_n.begin(), mod_n.end(), std::ostream_iterator<int>(std::cout, " "));
      std::cout << std::endl;
   }
   else
   {
      std::cout << "No number that modulus on: " << mod << std::endl;
   }
 
   std::cout << "Numbers of rows with: " << minmax.first << std::endl;
   std::copy(min_rows.begin(), min_rows.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
 
   std::cout << "Numbers of rows with: " << minmax.second << std::endl;
   std::copy(max_rows.begin(), max_rows.end(), std::ostream_iterator<int>(std::cout, " "));
   std::cout << std::endl;
}
http://liveworkspace.org/code/ca4bec...2ded27a0c7396e
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru