Помогите с задачами по С++Посреди N целых положительных чисел не больше

Помогите с задачками по С++

Среди N целых положительных чисел не больше 1000 отыскать числа с
наибольшей суммой цифр и меньшей. Если таких чисел несколько,
то следует избирать те, что идут в списке первыми.
В первой строке дано число N (N lt;= 1000). В последующей строке
содержатся же числа. В выходной поток вывести два числа через пробел,
соответствующие условию задачки. Поначалу вывести число с наивеличайшей
суммой цифр, а потом с меньшей.

Входные данные
5
12 10 101 1000 102

Выходные данные
12 10

Задать свой вопрос
1 ответ
Считываешь все числа примяняя к ним фунцию (f) которая будет считать сумму цифр, запоминая 2 числа в которых f возвратит наибольшее и малое. Либо для тебя код нужен?


include lt;bits/stdc++.hgt;using namespace std;int f(int a)    int r=0;    r+=a/1000;    a=a%1000;    r+=a/100;    a=a%100;    r+=a/10;    a=a%10;    r+=a;return (r);int main()    int nf,num,n,ansm=0,ansmax=0,min1=100,max1=-100;cingt;gt;n;for(int i=1;ilt;=n;i++)      cingt;gt;num;    nf=f(num);    if(nflt;min1)min1=nf;ansm=num;    if(nfgt;max1)max1=nf;ansmax=num;coutlt;lt;ansmaxlt;lt;' 'lt;lt;ansm;
Natashka
спасибо, но превосходнее бы код, поджимает время...
Валерий
Надобно код!!!
Тимур Зиннуров
include using namespace std;int f(int a) int r=0; r+=a/1000; a=a%1000; r+=a/100; a=a%100; r+=a/10; a=a%10; r+=a;return (r);int main() int nf,num,n,ansm=0,ansmax=0,min1=100,max1=-100;cin>>n;for(int i=1;i<=n;i++) cin>>num; nf=f(num); if(nfmax1)max1=nf;ansmax=num;cout<
Галина Мисник
Ай, здесь неправильно, я неправильно сообразил условие
Владик
а не, норм
Данил Кондрашенко
Я здесь немножко поменял код под себя и он неправильно работает. Можешь обьяснить, где ошибка? А то я слишком дремучий.
Нелли Курильчик
Ну если напишешь как поменял
Антонина Летик
include using namespace std;int f (int n)int s=0;s=n/1000+n%1000+n/100+n%100+n/10+n%10+n;return s;int main()int nf,num,a,chm=0,chmax=0,min1=0,max1=0;cin>>a;for(int i=1;i<=a;i++)cin>>num;nf=f(num);if(nfmax1) max1=nf; chmax=num;cout<
Galka Bohnjak
Потому-что перекаверкали функцию (в таком плане как у вас - очень длинноватая будет) и поэтому-что сделали малое число сходу 0 (а куда еще меньше?) Вот так вновь будет работать
Виктория Ранченкова
include using namespace std;int f (int n)int s=0;for(int i=1000;i>1;i/=10) s+=n/i; n%=i;return s+n;int main()int nf,num,a,chm=0,chmax=0,min1=30,max1=0;cin>>a;for(int i=1;i<=a;i++)cin>>num;nf=f(num);if(nfmax1)max1=nf;chmax=num;cout<
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт