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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dinara_rakipova
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 13
#1

Задачи по функциям. Объясните задачу по функциям) - C++

16.05.2013, 09:16. Просмотров 503. Ответов 6
Метки нет (Все метки)

Вводится последовательность из N целых чисел. Для каждого числа последовательности вывести новое число, которое получится после записи цифр числа в обратном порядке (функцией оформить определение нового числа для заданного).
...Где в данной программе определение,вызов функции? И есть ли сдеть функция вообще?)
C++
1
2
3
for_each(coll.begin(), coll.end(), [](int &elem) { elem = 100 + rand() % 201; });
copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
cout << endl;
C++
1
for_each(coll.begin(), coll.end(), [](int &elem)
-что означают данные строчки, можно ли сделать проще?)
Заранее спасибо!

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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <time.h>
#include <cstdlib>
using namespace std;
 
int main()
{
  setlocale (LC_CTYPE, "Russian");
    int N;
    cout<<"Введите количество элементов последовательности из N целых чисел:";
cin>>N;
    srand(time(NULL));
    vector<int> coll(N);
 
    for_each(coll.begin(), coll.end(), [](int &elem) { elem = 100 + rand() % 201; });
  copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
     for_each(coll.begin(), coll.end(), [](int &elem)
    {
        int value(0);
        while(elem != 0){
            if(value == 0){
                value = elem % 10;
                elem /= 10;
            }
            else{
                value *= 10;
                value += elem % 10;
                elem /= 10;
            }
        }
         elem = value;
    });
     copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
     cout << "\n\n";
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 09:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задачи по функциям. Объясните задачу по функциям) (C++):

Передача объектов функциям(объясните код программы) - C++
Вот программа: #include &lt;iostream&gt; using namespace std; class samp { int i; public: samp(int n){i=n;} void set_i(int...

Порекомендуйте задачи по функциям - C++
Плиз дайте задачек по функциям очень надо!

Справочник по функциям C/C++ - C++
Есть вообще справочник по всем функциям C/C++

Вопрос по функциям - C++
Скажите, если у функции в заголовке прописано, что она возвращает значение int: int function(...) { ...} То могу ли я пытаться...

Расписать по функциям - C++
Я совершенный новичок. Начали проходить функции, решил задачу, осталось выписать ее по функциям. Подсобите кто опытный, что бы я в...

Консультация по функциям - C++
Подскажите что это за две функции и что за аргументы у второй? cin.clear(); cin.ignore(256, '\n');

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.05.2013, 10:27 #2
можно проще, здесь используются возможности стандарта с++11
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.05.2013, 10:29 #3
Dinara_rakipova, vua72, Что значит "проще"? Стандарт С++11 создан именнго для того, чтобы упростить/сделать более удобной разработку кода на С++
0
vua72
16.05.2013, 10:56
  #4

Не по теме:

ForEveR, вы же сами прекрасно понимаете смысл вопроса и фразы "проще" у автора топика.

0
Biggs
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 52
16.05.2013, 11:35 #5
Добавьте в самом верху
#include<stdio.h>
#include<conio.h>

И еще
Перед return поставьте getch();
Чтобы картинка не исчезала
call.begin начало вектора, возвращает итератор на на первый элемент вектора
call.end конец вектора
Функция переворота цифр не определена отдельной функцией, а реализуется внутри программы
Что такое [](int &elem) не знаю
Возможно специалисты расскажут
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
16.05.2013, 11:42 #6
Строки, которые вызвали у вас затруднение производят обход по коллекции элементов.
В С++11 "проще" записать так
C++
1
2
3
4
    for (int & elem : coll) {
        elem = 100 + rand() % 201;
        cout << elem << " ";
    }
или в старом стиле (до C++11)
C++
1
2
3
4
5
    typedef std::vector<int>::iterator vecit;
    for (vecit it=coll.begin(); it!=coll.end(); ++it){
        *it=100 + rand() % 201;
        cout << *it << " ";
    }
Добавлено через 3 минуты
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <time.h>
#include <cstdlib>
using namespace std;
 
void solve(vector<int>& coll);
 
int main() {
    setlocale(LC_CTYPE, "Russian");
    int N;
    cout << "Введите количество элементов последовательности из N целых чисел:";
    cin >> N;
    srand(time(NULL));
    vector<int> coll(N);
    // заполнение массива
    for (int & elem : coll) {
        elem = 100 + rand() % 201;
        cout << elem << " ";
    }
    cout << endl;
    // функция
    solve(coll);
    // вывод на экран
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    cout << "\n\n";
    return 0;
}
 
void solve(vector<int>& coll) {
    for (int &elem : coll) {
        int value(0);
        while (elem != 0) {
            if (value == 0) {
                value = elem % 10;
                elem /= 10;
            } else {
                value *= 10;
                value += elem % 10;
                elem /= 10;
            }
        }
        elem = value;
    };
}

Не по теме:

Biggs, к чему ваши советы, если вы не понимаете о чем речь?



Добавлено через 1 минуту
Вообще, если можно вместо vector использовать просто массив int, но с переделкой кода (значительной)
2
Biggs
16 / 10 / 0
Регистрация: 12.03.2011
Сообщений: 52
16.05.2013, 20:22 #7

Не по теме:

Biggs, к чему ваши советы, если вы не понимаете о чем речь?


Спасибо за код
Я надеялся, что кто нибудь расскажет про лямбда функции в C++
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2013, 20:22
Привет! Вот еще темы с ответами:

Вопрос по функциям - C++
Вопрос по функции. мне надо, чтобы моя функция &quot;proverka&quot; принимала значение переменной boo. но на простое присвоение компилятор...

Задача по функциям - C++
Разработать функцию типа float, что возвращает абсолютное значение разници первого и второго аргументов.

Вопрос по функциям - C++
Есть функция: int fun(char wob, unsigned char s, char name, char opis, uint32_t code) {} Я вызываю её в одном месте приложения: int...

Подскажите по функциям. - C++
Имеется такой код. #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int fib(int n); int main() { setlocale...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.05.2013, 20:22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru