Другие языки программирования и технологии

2 программы на с++

Все доброго времени суток. Нужно написать 2 программы на с++.

1. Вывести на экран все 3х значные числа, которые заканчиваются и начинаются на одну и ту же цифру.
2. Вывести на экран

3
0
20
93
220
893
2223
7890
22223
67890

Решать эти задачи я не прошу, мне нужно что бы меня наставили на верный путь, посоветовали что почитать, какой алгоритм нужен что бы это решить
Anatolii Polugalov
Anatolii Polugalov
291
Ну смотри, по первому пункту:
просто цикл.. . перебираем все трехзначные, выводим только начинающиеся на нужную.
for (i=100; i=999; i++)
{
if (i/100 = n) cout << i:
}
Цмкл перебирает от 100 до 999 (все трехзначные) , целочисленное деление вернет только число сотен, если оно совпадает с заданным — выведет на экран.
___
По второму. Чу-то не понять, как они возрастают

Если это жестко заданная последовательность — одномерный массив и вывод массива. Тот же for, с нулевого индекса до n-1
Если тут какой-то закон, нужно его понять: )

===============
З. Ы. Да, плохо прочитал условия, отсюда и ошибка.
КОнечно, читаем цифру, и выдаем все трехзначные в цикле с шагом 10.
for (int i = n*100+n; i < 1000; i +=10) cout << i;

Не буду исправлять, пусть останется мне в назидание: )

======================
З. З. Ы. По ответу ниже.. .
Если digit будет равна например 2, в первой итерации выведет 102, а это не верно. Кажется так.
не 100+digit, а digin*100+digit

Это если на заданную цифру. А если все, у которых первая и последняя совпадают, то
for (int i = 101; i<1000; i+=101) cout << i;
Akmaljon Akmaljon
Akmaljon Akmaljon
62 017
Лучший ответ
#include <iostream>
using namespace std;
int main() {
    int digit;
    cout << "digit?.. "; cin >> digit;
    for (int n = 100 + digit; n < 1000; n += 10) cout << n << endl;
    cin.get(); cin.get();
    return 0;
}