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

Преобразование двумерного массива в одномерный - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вернуть на старт http://www.cyberforum.ru/cpp-beginners/thread645380.html
Всем привет:). Говорю сразу - я жесткий нуб. Начал изучение C++ буквально сегодня. Прошу вас, не относитесь ко мне как к идиоту, я как раз пришел на этот форум, что бы чему-то научиться. Вот у меня возникла проблемка. Я первый раз пишу программ самостоятельно, без туториала. Решил написать простенькую консольную, где можно будет вводить два числа, программа будет складывать эти числа и...
C++ Прочесть строку сишным способом(фопен) Добрый день. Есть необходимость прочесть определенную строку(по номеру) используя стандартный ввод/вывод си, и не используя getline(). Как это реализовать? есть функция для получения индекса начала строки? кроме как в цикле проверять на перенос строки http://www.cyberforum.ru/cpp-beginners/thread645370.html
Как сделать MDI окна залипающими ? C++
Как создать MDI окно я разобрался. Вот хотелось бы узнать как его сделать в фреймовом окне залипающим.Тоесть чтобы допустим к краю тащишь он прилепает, или к низу. Это вообще MDI называется или может как то по другому? Кто что делал подобное подскажите плз.
Функция getline(). Как исключить знаки препинания (символы)? C++
Задача следующая: Из файла source.txt прочесть слово Отправить запрос в БД Получить перевод слова Записать в файл destination.txt Пример: Читаются следующие символы: ('abc', пробел, 'bac', пробел, 'cab', символ новой строки, 'dab'). На восьмой итерации читается EOF. Использую getline(inputFile, sourceWord, ' ');
C++ Регулярные выражения в с++ http://www.cyberforum.ru/cpp-beginners/thread645330.html
Рылся рылся, нигде не нашел... Кто нибудь, объясните: 1) как установить эту библиотеку Regex. 2) Как заставить её работать. 3) И простой пример кода Пользуюсь visual 2010 там есть библиотека regex. Но использовать её никак не получается... Вообщем помогите)
C++ Нужно сделать алгоритм, решающий задачу за время н Всем привет! Есть задача: Исходные данные В первой строке записано целое число N — количество бильярдных шаров (1 ≤ N ≤ 100000). В следующих N строках даны номера этих шаров в том порядке, в котором ревизор забирал их из лузы. Результат Выведите слово «Cheater», если закатывающий не мог закатить все N шаров в правильном порядке. Иначе выведите «Not a proof». Реализовывал несколько... подробнее

Показать сообщение отдельно
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5817 / 1215 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
01.09.2012, 17:53     Преобразование двумерного массива в одномерный
Если по простому, то
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <random>
#include <ctime>
 
int main()
{
    std::random_device rand;
    std::mt19937 gen(rand());
    std::uniform_int_distribution <> distr(-10, 30);
    int rows, cols, size;
    std::cin>>rows>>cols>>size;
    std::vector <std::vector <int>> matrix(rows, std::vector <int> (cols, 0));
    std::vector <int> vec;
    for_each(matrix.begin(), matrix.end(), [&vec, &gen, &distr, &size] (std::vector <int> &curLine) -> std::vector <int>
    {
        std::generate(curLine.begin(), curLine.end(), [&gen, &distr] () -> int { return distr(gen); });
        std::copy(curLine.begin(), curLine.end(), std::ostream_iterator <int> (std::cout, " "));
        std::cout<<std::endl;
        int lineSize = std::accumulate(curLine.begin(), curLine.end(), 0);
        if(lineSize < size)
        vec.push_back(lineSize); 
        return curLine;
    });
    std::copy(vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    return 0;
}
http://liveworkspace.org/code/1ebac8...6a4897347f3a97
 
Текущее время: 10:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru