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

Массив. Переписать его элементы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ cc1plus.exe ошибка http://www.cyberforum.ru/cpp-beginners/thread829846.html
При создании любого проекта в Qt 5.0.1 вылетает ошибка: "error: unrecognized command line option "-fno-keep-inline-dllexport"" в cc1plus.exe Как ее можно исправить? Добавлено через 7 часов 35 минут Решил. Были криво прописаны переменные среды. Указывалась не подходящая версия MinGW.
C++ Массивы. Вывести на экран среднее значение, количество отрицательных элементов Целочисленный массив из N элементов заполнить случайными значениями из диапазона (значения N ,x, y вводятся пользователем с клавиатуры) 1) вывести на экран среднее значение элементов массива 2) вывести на экран количество отрицательных элементов массива. Для решения задачи реализовать функции: заполнения матрицы случайными значениями из диапазона (x, y вводятся пользователем с клавиатуры)... http://www.cyberforum.ru/cpp-beginners/thread829837.html
Написать программу, в которой выделить память под матрицу со строками разной длины C++
Написать программу, в которой выделить память под матрицу со строками разной длины. В каждую стоку занести информацию о возрасте сотрудников i-го отдела. На печать вывести возраст и номер отдела самого молодого и самого пожилого сотрудника. Предполагается, что в каждом отделе различное количество сотрудников. Тема указатели
C++ Ошибка в коде
//--------------------------------------------------------------------------- #include <vcl.h> #include <string.h> #include <iostream.h> #include <stdio> #include <vector> #include <sstream> #include <iterator> #pragma hdrstop
C++ Дебаггер и argv http://www.cyberforum.ru/cpp-beginners/thread829803.html
Как посылать параметры запуска программы при дебагинге? При исполнении в эмуляторе DOS'а всё просто: myprog.exe "someparameter" 12318921 "anotherparameter" А при отлаживании?
C++ Строки.Найти количество слов? Дана фраза, в которой слова разделены одним пробелом, а сама фраза заканчивается точкой. Требуется: Найти количество слов, начинающихся на букву «а». подробнее

Показать сообщение отдельно
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
06.04.2013, 18:55
Azay,

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
#include <iostream>
#include <iomanip>
#include <array>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <functional>
using namespace std;
 
bool pred(int elem){
    return elem < 0;
}
 
int main()
{
    array<int, 10> coll = {1, 2, -3, -4, -5, 6, -7, -8, 9, 10};
 
    cout << "Source array: " << setw(15 - strlen("Source array"));
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    int max, num;
    array<int, 10>::iterator pos1, pos2, pos3, pos4,
        it = coll.begin();
 
    pos1 = find_if(coll.begin(), coll.end(), pred);
    pos2 = find_if(pos1 + 1, coll.end(), not1(ptr_fun(pred)));
 
    pos3 = pos2;
    max = distance(pos1, --pos2) + 1;
 
    while(it != coll.end()){
        pos3 = find_if(pos3, coll.end(), pred);
 
        if(pos3 != coll.end()){
            pos4 = find_if(pos3 + 1, coll.end(), not1(ptr_fun(pred)));
 
            num = distance(pos3, --pos4) + 1;
 
            if(max < num){
                max = num;
                pos1 = pos3;
                pos2 = pos4;
            }
 
            it = pos4; 
            ++it;
            pos3 = it;
        }
        else
            break;
    }
 
    int number = distance(++pos2, coll.end());
    rotate(coll.begin(), coll.end() - number, coll.end());
 
    cout << "\nNew array: " << setw(15 - strlen("New array"));
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    cout << "\n\n";
    return 0;
}
Добавлено через 15 минут
Azay, а вот смотри еще с вводом и случай если нет отрицательны элементов

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
#include <iostream>
#include <iomanip>
#include <array>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <functional>
using namespace std;
 
bool pred(int elem){
    return elem < 0;
}
 
int main()
{
    array<int, 10> coll;
 
    cout << "Enter the array: ";
    for(int i = 0; i < 10; ++i)
        cin >> coll[i];
 
    cout << "\nSource array: " << setw(15 - strlen("Source array"));
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    int max, num;
    array<int, 10>::iterator pos1, pos2, pos3, pos4,
        it = coll.begin();
 
    pos1 = find_if(coll.begin(), coll.end(), pred);
 
    if(pos1 != coll.end()){
        pos2 = find_if(pos1 + 1, coll.end(), not1(ptr_fun(pred)));
 
        pos3 = pos2;
        max = distance(pos1, --pos2) + 1;
 
        while(it != coll.end()){
            pos3 = find_if(pos3, coll.end(), pred);
 
            if(pos3 != coll.end()){
                pos4 = find_if(pos3 + 1, coll.end(), not1(ptr_fun(pred)));
 
                num = distance(pos3, --pos4) + 1;
 
                if(max < num){
                    max = num;
                    pos1 = pos3;
                    pos2 = pos4;
                }
 
                it = pos4; 
                ++it;
                pos3 = it;
            }
            else
                break;
        }
 
        if(pos2 != coll.end()){
            int number = distance(++pos2, coll.end());
            rotate(coll.begin(), coll.end() - number, coll.end());
        }
 
        cout << "\nNew array: " << setw(15 - strlen("New array"));
        copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
    }
    else
        cout << "\nNo negative elements!";
 
    cout << "\n\n";
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru