Все доброго времени суток. Нужно написать 2 программы на с++.
1. Вывести на экран все 3х значные числа, которые заканчиваются и начинаются на одну и ту же цифру.
2. Вывести на экран
3
0
20
93
220
893
2223
7890
22223
67890
Решать эти задачи я не прошу, мне нужно что бы меня наставили на верный путь, посоветовали что почитать, какой алгоритм нужен что бы это решить
Другие языки программирования и технологии
2 программы на с++
Ну смотри, по первому пункту:
просто цикл.. . перебираем все трехзначные, выводим только начинающиеся на нужную.
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;
просто цикл.. . перебираем все трехзначные, выводим только начинающиеся на нужную.
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;
#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;
}
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;
}
Похожие вопросы
- Есть 2 программы на С++ Помогите их обеденить в одну
- Напишите пожалуйста 2 программы в pascal ABC, программы в описании
- Помогите написать 2 программы на языке pascal!
- Помогите написать 2 программы на паскале.. . очень нужно
- Помогите написать 2 программы в Pascal ABC
- Написать 2 программы на Паскаль.
- Помогите написать 2 программы в паскале
- каким образом 2 одинаковые программы могут "договориться" какая прога покажет число 1 а какая 2?(внутри пример)
- Программу возведения числа в четвертую степень за 2 операции Pascal
- Составьте программу, отыскивающую наибольший элемент массива A(N) из числа принадлежащим интервалу {min,(min+max\2))