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

Последовательность - C++

Восстановить пароль Регистрация
 
kudpro
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
26.11.2011, 08:44     Последовательность #1
Последовательность
Дано целое число N и набор из N целых чисел. Вывести в том же
порядке номера всех нечетных чисел из данного набора и количество K
таких чисел.

Добавлено через 6 часов 11 минут
Актуально
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
26.11.2011, 10:10     Последовательность #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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main(int argc, char **argv)
{
    cout << "Enter size of array: ";
    int n;
    cin >> n;
    int *array = new int[n];
    srand(time(NULL));
    for(int i = 0; i < n; i++)
    {
        array[i] = rand() % 25;
        cout << array[i] << " ";
    }
    int k = 0;
    cout << endl;
    for(int i = 0; i < n; i++)
        if (array[i] & 1)
        {
            cout << i << " ";
            k++;
        }
    cout << endl << k << endl;
    delete [] array;
    system("pause");
    return 0;
}
kudpro
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
26.11.2011, 11:02  [ТС]     Последовательность #3
А если решить при помощи очереди, а не массива.
lavan
51 / 51 / 1
Регистрация: 21.03.2009
Сообщений: 371
26.11.2011, 12:54     Последовательность #4
тогда так
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<list>
#include<vector>
using namespace std;
vector<int>vi;
bool paretyod(int);//предикат поиска находит нечетные числа
int main() {
    int num;
    list<int>ls;
    cout<<"Enter->";
    cin>>num;
    for(int i=0;i<num;i++) {
        int tmp;
        cin>>tmp;
        ls.push_back(tmp);
    }
    count_if(ls.begin(),ls.end(),paretyod);
    for(int i=0;i<vi.size();i++) {
     cout<<vi[i]<<" ";
    }
    cout<<"Amount of elements-"<<vi.size()<<endl;
    cin.get();
    return 0;
}
bool paretyod(int num) {
     if(num%2)
     vi.push_back(num);
}
Yandex
Объявления
26.11.2011, 12:54     Последовательность
Ответ Создать тему
Опции темы

Текущее время: 08:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru