- Форум
- Тийн интереси и проблеми
- Училище и приятели
- Помощ по информатика
Здравейте на всички
В този раздел има доста теми в които по-знаещи помагат на по-незнаещи по математика, химия и т.н, но не открих тема за помощ по информатика, така че се надявам някой информатик да се намери и да ми помогне със следната задача:
Да се състави програма, която въвежда от клавиатурата естествено число k. Програмата да извежда всички трицифрени числа, сумата от цифрите на които е равна на числото k.
До сега след редица размисли и схеми стигнах до следния алгоритъм:
#include <iostream.h>
int main()
{
int k,d,s,l,ch;
cin>>k;
while ((k%k==0) || (k%10==0))
{
for (int i=100;i<=999;i++)
{
d=i%10;
s=i%10;
l=i%10;
ch=d+s+l;
if (ch==k)
{
cout<<"ch="<<ch<<endl;
}
else
{
cout<<"nqma takova chislo"<<endl;
}
}
}
return 0;
}
Имам адски много логически грешки в алгоритъма но се надявам някой да ми обясни как стават нещата.
Не разбирам как да проверя дали k е естествено число и как да изкарам цифрите от всички трицифрени числа, да ги сборувам и да ги съпоставя с k.
Ще съм много благодарен на малко помощ защото изперквам ;д.
Мерси!
d=i%10; - вади единиците
s=i%10; - грешно... -> s=i/10%10 - вади десетиците
l=i%10; - грешно... -> l=l/100 - вади стотиците
Естествените числа са 1,2,3..n. Щом записваш в int тя програмата ще си гръмне, ако му дадеш грешен вход, тъй че не се притеснявай (C-то е грозотия тъй, че може да бъркам тук, ама кой нормален човек го ползва?!)...
Също, ако искаш сложи един if преди да въртиш цикъла
if(ch<0 || ch>27) {
cout<<"Invalid"
}
и цикъла го бутни в else... щото реално няма как сбора от цифрите на 3 цифрено число да е <0 или >27
И тоя while го махай, че т'ва си е 100%-ов безсмислен безкраен цикъл... Сми не хванах въобще идеята му де...
Последно редактирано от Domad : 12-20-2011 на 21:35
...
Мерси много, но все още не загрявам как трябва да бъде целия алгоритъм...както и да е. Поне разбрах как се вадят цифрите от число.
А за С-то, такова учим в у-ще, нямам голям избор. А и не е чак такъв шит, използва се.
Ако има още някакви идеи са добре дошли![]()
Имал съм в предвид алгоритъм за изваждане на цифри от число, но явно си се досетил сам, пък и Domad ти беше помогнал с него. Пак заповядай!
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.