Консультация № 175296
15.12.2009, 17:50
35.00 руб.
0 7 1
Доброго времени суток!
Необходимо написать программку на C++ (желательно, чтобы работала на VS 2008). Задача: Дано трёхзначное число. Необходимо найти все трёхзначные числа равные среднему арифметическому цифр данного числа.
Заранее благодарен.

Обсуждение

давно
Посетитель
7438
7205
15.12.2009, 18:04
общий
Приведите пример, не совсем понятно о чем речь...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
15.12.2009, 18:08
общий
т.е. есть трёхзначное число, например 123...
Неизвестный
15.12.2009, 18:08
общий
используя цикл
Неизвестный
15.12.2009, 18:13
общий
Цитата: 302408
Задача: Дано трёхзначное число. Необходимо найти все трёхзначные числа равные среднему арифметическому цифр данного числа.

Вообще-то, если не рассматривать числа с ведущими нулями (напр., 002), то искомых чисел нет:
- наибольшее значение "среднего арифметического цифр данного числа" = 9
- наименьшее трёхзначное число = 100.

Может быть, требуется найти все трёхзначные числа, среднее арифметическое цифр которых равно среднему арифметическому цифр данного числа?
давно
Академик
20764
1861
15.12.2009, 18:19
общий
"не совсем понятно" - это мягко сказано. Среднее арифметическое цифр - это единственное число от 0 до 9, да ещё не всегда целое. Перебирать тут нечего.
Вы явно неправильно сформулировали задачу.
Неизвестный
15.12.2009, 18:27
общий
вот такая задачка в задачнике... вообще может и правда какая-то опечатка, т.к. задачка по азам программирования
давно
Специалист
246813
155
15.12.2009, 19:34
общий
это ответ
Здравствуйте, starcode.
Программа написана и проверена на Microsoft Visual C++ 6.0.
Комментарии в программе.
Код:
#include <iostream>
using namespace std;


int main(){
int const k=3;
int a,b,i;
double sr,s,sr1;
locale::global(locale("russian_russia.866")); // Чтобы печатать русскими буквами
wcout<<L"Введите трехзначное число: ";
cin>>a;
if((a>99)&&(a<1000)){//Проверка числа на трехзначность
s=0;
while(a>=1){
b=a%10; //последняя цифра числа
s+=b; //сумма цифр числа
a/=10; //убираем последнюю цифру числа
}
sr=s/k; //среднее арифметическое цифр числа
wcout<<L"Среднее арифметическое цифр заданного числа: "<<sr<<endl<<endl;

wcout<<L"Все трехзначные числа, в которых среднее арифметическое их цифр равно "<<sr<<L":"<<endl;
for(i=100;i<1000;i++){ //Находим остальные числа, среднее арифметическое цифр которых соответствует найденному числу
a=i;
s=0;
while(a>=1){
b=a%10;
s+=b;
a/=10;
}
sr1=s/k;
if(sr==sr1)wcout<<i<<L" ";
}}
else wcout<<L"\nВы ввели не трехзначное число\n";
wcout<<L"\nДля выхода нажмите любую клавишу...\n";
return 0;
}
5
Форма ответа