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

Вывести на экран последовательность целых чисел в обратном порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
Уасилий
0 / 0 / 0
Регистрация: 30.09.2011
Сообщений: 13
07.10.2011, 08:43     Вывести на экран последовательность целых чисел в обратном порядке #1
Помогите)
Задание: Вывести на экран : целые числа 10, 12, 14, ... , 60 в обратном порядкев столбик))( в С ++ для начинающих, напишите программу)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2011, 08:43     Вывести на экран последовательность целых чисел в обратном порядке
Посмотрите здесь:

C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей
Вывести последовательность слов в обратном порядке C++
Массив: Вывести отрицательные элементы на экран в обратном порядке. C++
Дан массив целых чисел. Записать его элементы в обратном порядке. C++
Используя прямую рекурсию, напечатать в обратном порядке последовательность чисел, признаком конца которой является 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.10.2011, 09:03     Вывести на экран последовательность целых чисел в обратном порядке #2
C++
1
2
3
4
5
6
7
8
#include<iostream>
 
int main()
{
   for (int i = 60; i >= 10; i -= 2)
      std::cout << i << "\n";
   return 0;
}
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.10.2011, 12:20     Вывести на экран последовательность целых чисел в обратном порядке #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
void print( std::ostream& stream, int left, int right, int step )
{
    if ( left + step <= right )
        print(stream, left + step, right, step);
    stream << left << '\n';     
}
 
int main()
{
    print( std::cout, 10, 60, 2 );
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.10.2011, 12:36     Вывести на экран последовательность целых чисел в обратном порядке #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
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
 
void print(FILE*, size_t, ...);
 
int main(int argc, char* argv[])
{
    print(stdout, 26,
      10, 12, 14, 16, 18, 20, 22, 24, 26, 28,
      30, 32, 34, 36, 38, 40, 42, 44, 46, 48,
      50, 52, 52, 56, 58, 60);
    
    exit(0);
}
 
void print_(FILE* f, size_t cnt, va_list ap)
{
    size_t num;
    
    if(cnt)
    {
    num = va_arg(ap, size_t);
    print_(f, cnt - 1, ap);
    printf("%u\n", num);
    }
}
 
void print(FILE* f, size_t cnt, ...)
{
    va_list ap;
    va_start(ap, cnt);
    print_(f, cnt, ap);
    va_end(ap);
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
08.10.2011, 13:33     Вывести на экран последовательность целых чисел в обратном порядке #5
Генерация последовательности на этапе компиляции:
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
#include <iostream>
    
// структура для генерации последовательности из cnt целых чисел (арифм. прогрессии)
// start - первый элемент последовательности
// step - шаг прогрессии
template <size_t cnt, int start, int step, int ... ts>
struct terms: public terms<cnt - 1, start + step, step, ts ..., start>
{
};
 
// терминирующее рекурсию определение
template <int start, int step, int ... ts>
struct terms<0, start, step, ts ...>
{
    static const size_t count = sizeof ... ts;
    static const int tms[count];
};
 
template <int start, int step, int ... ts>
const int terms<0, start, step, ts ...>::tms[] = {ts ...};
 
// структура для печати последовательности terms в обратном порядке
template <int first, int step, int last>
struct reversed_sequence
{
    static void print();
};
 
template <int first, int step, int last>
void reversed_sequence<first, step, last>::print()
{
    for(int i = terms<(last - first) / step + 1, first, step>::count - 1; i >= 0; --i)
    std::cout << terms<(last - first) / step + 1, first, step>::tms[i] << std::endl;
}
 
typedef reversed_sequence<10, 2, 60> rs;
    
int main(int argc, char* argv[])
{
    rs::print();
    
    return 0;
}
Yandex
Объявления
08.10.2011, 13:33     Вывести на экран последовательность целых чисел в обратном порядке
Ответ Создать тему
Опции темы

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