Помогите написать пару задач на C++
Вообщем мне надо завтра сдать 2 программы, которые я не понимаю как делать:( Может поможет кто написать плиз?
1) Цена одного часа работы перевозчика грузов зависит от длительности работы. Написать программу, которая принимает количество требуемых для работы часов и вычисляет стоимость данной услуги. Использовать ле-сенку if-else-if.
2) Проездной билет назовем счастливым, если его шести-значный номер обладает следующим свойством: сумма первых трех цифр в нем равна сумме последних трех. Написать программу, которая принимает с клавиатуры номер билета и сообщает, счастливый он или нет. Ис-пользовать оператор ?:. Предварительно проверить, яв-ляется ли введенный номер шестизначным, и, если нет, то сообщить об ошибке.
Сори что в 1 теме 2 задачи....
[code=c++]
bool sch(int n) {
bool ret = false;
int r[6];
for (int q=n,i=-1, s1=0, s2=0; (q>0) ? true : false;r[++i]=q%10,q=q/10,s1+=(i<3 ? r : 0),s2+=(i>=3 ? r : 0),ret=(0==q && 5==i && s1==s2 ? true : false));
return ret;
}
[/code]
функция sch получает число, возвращает true если билет счастливый, false - если не счастливый или номер не 6изначный...
[CODE=c++]bool sch(int n) {
int s1 = n % 1000, s2 = n / 1000;
return s1 == s2 && s1 > 99;
}[/CODE]
[CODE=c++]bool sch(int n) {
return n % 1000 > 99 ? n % 1000 == n / 1000 : false;
}[/CODE]
2Kogrom: у тебя неправильно)) ты же просто выделяешь первые 3 и последние 3 цифры и их сравниваешь)) а надо сумму цифр)
Цитата: Mr.Hacker
2Kogrom: у тебя неправильно)) ты же просто выделяешь первые 3 и последние 3 цифры и их сравниваешь)) а надо сумму цифр)
Ну тогда так:
[CODE=c++]bool sch(int n) {
int i = 0, s = 0;
for (; n; s+=(i<3 ? n%10 : 0), s-=(i>=3 ? n%10 : 0), n/=10, ++i);
return !(i - 6 || s);
}[/CODE]
а вот это шикарно))) я чё-то так даже не подумал))