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

Когда элемент одного массива больше элемента другого массива, то тот элемент что больше расскладывается на меньшие элементы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Char *(UTF-8) -> char *(ANSI) http://www.cyberforum.ru/cpp-beginners/thread1126761.html
Есть строка в кодировке UTF-8(если не ошибаюсь) типа char * Вот так ее я вижу в MSVC++10 - комментарии(оригинал - комментарии) char sInvalid = "комментарии"; Как преобразовать ее в кодировку ANSI? Т.е результат должен быть такой: char sValid = "комментарии"; Или такой
C++ Нужен "куратор" для курсовой Пишу курсовую по С + +. Тема "Футбольный менеджер". Имеется в виду, что нужно разработать простенький менеджер, где можно будет создавать команды, игроков и в зависимости от скиллов будет генерироваться результат матча, события (угловой, желтая / красная карточка и т.д.) и внизу будет генерироваться текстовая трансляция. Кто может помочь советами новичку, дайте свои контактные данные. В теме... http://www.cyberforum.ru/cpp-beginners/thread1126759.html
C++ Запуск системной утилиты, вывод информации о процессах в системе
Подскажите пожалуйста код, как запустить любую системную утилиту и вывести инфу о процессах в системе
C++ Std::vector
Здравствуйте, помогите, пожалуйста, с более теоретическим вопросом. Когда мы не прописываем using namespace std; мы пишем перед векторами,cin-ами, cout-ами и т.д std:: ... Так вот вопрос, при объявление вектора мы пишем std::vector<>vec, а когда мы работаем с этим объектом, т.е допустим с i-м элементов вектора int main(){ std::vector<int>vec; for(int i=0; i<10;i++){ vec.push_back(1);...
C++ Сформировать матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max каждого столбца http://www.cyberforum.ru/cpp-beginners/thread1126724.html
Помогите пожалуйста :))) В С++ нужно сделать) Дана матрица n на n. Сформировать новую матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max каждого столбца; последний элемент а равен сумме max строк и min всех столбцов.
C++ Перенести из матрицы в одномерный массив данные удовлетворяющие условию Создать одномерный массив размерностью 48 из матрицы 6x8. короче перенести из матрица в одномерный массив данные удовлетворяющие условию 0 <=cos Aij < 0.5. Когда данные в одномерном массиве внесены найти макс и мин и поменять местами. подробнее

Показать сообщение отдельно
mcoffka
 Аватар для mcoffka
1 / 1 / 1
Регистрация: 19.03.2014
Сообщений: 10
23.03.2014, 01:05     Когда элемент одного массива больше элемента другого массива, то тот элемент что больше расскладывается на меньшие элементы
Ну не знаю, какой-то быдлокодинг у меня получился.
Решила использовать вектор, но мой опыт его использования чуть менее чем нулевой ))
Уверена, что эту задачу можно решить как-то изящнее, так что буду признательна за указания на ошибки и примеры более вменяемого кода

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
#include <iostream>
#include <vector>
using namespace std;
 
int main(int argc, char** argv) {
    int n;
    int value;
    vector <int> a;
    vector <int> b;
    
    cout << "Enter the number of elements: ";
    cin >> n;
    cout << "Enter values to first array: " << endl;
    for (int i = 0; i < n; i++) {
        cin >> value;
        a.push_back (value);
    }
    cout << "Enter values to second array: " << endl;
    for (int i = 0; i < n; i++) {
        cin >> value;
        b.push_back (value);
    }
    cout << "First array: ";
    for (int i = 0; i < a.size(); i++) {
        cout << a[i] << " ";
    }
    cout << endl << "Second array: ";
    for (int i = 0; i < b.size(); i++) {
        cout << b[i] << " ";
    }
    vector<int>::iterator it = a.begin();
    int j = 0;
    for (int i = 0; i < b.size(); i++) {
        if ( *(it + j) > b[i]) {
            int size = *(it + j) - b[i];
            vector <int> temp (size);
            for (int t = 0; t < size; t++) {
                temp[t] = *(it + j) - t  - 1;
            }
            temp.push_back (b[i]);
            a.erase (it + j, it + j + 1);
            a.insert (it + j ,temp.begin(), temp.end());
            it = a.begin();
            j += temp.size();
        }
        else {
            it = a.begin();
            j++;
        }
    }
    cout << endl << "Result:" << endl;
    for (int i = 0; i < a.size(); i++) {
        cout << a[i] << " ";
    }
    return 0;
}
 
Текущее время: 14:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru