Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Ossuary
0 / 0 / 0
Регистрация: 28.10.2016
Сообщений: 24
1

Определить порядковый номер числа в последовательности, которое содержит наибольшее количество цифр

28.10.2016, 11:07. Просмотров 777. Ответов 9
Метки нет (Все метки)

2. Дана последовательность чисел. Определить порядковый номер числа, которое содержит наибольшее количество цифр.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2016, 11:07
Ответы с готовыми решениями:

По заданному числу k определить номер двухзначного числа последовательности, которое содержит k-ю цифру
Пусть число N - это последовательность цифр 10111213...9899, в которой выписаны подряд все...

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

Определить наибольшее отрицательное число и его порядковый номер
Народ , помогите сделать ... Без поняток как вывести максимальное отрицательное (до массивов ещё не...

Определить количество цифр в цифровой записи данного числа, которые имеют наибольшее значение
Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые...

Определить порядковый номер наибольшего элемента в последовательности
Дана последовательность различных чисел (в последовательности не более 10 чисел). Определить...

9
afront
1063 / 1008 / 754
Регистрация: 29.02.2016
Сообщений: 3,197
28.10.2016, 13:24 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <math.h>
#include <time.h>
 
size_t f( int x)
{
    return log10(x)+1;
}
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(NULL));
    const int n = 4;
    int ar[n];
    int nar[n];
    int indx[n];
 
    for(int i = 0; i < n; ++i)
    {
        ar[i] = rand() % 100000;
        cout << ar[i] << " ";
        indx[i] = i + 1;
    }
    cout << endl;
 
    for (int i = 0; i < n; ++i)
        nar[i] = f(ar[i]) ;
    
    for(int i = 0; i < n; ++i)
        if (nar[i+1] > nar[i])       
              { 
                    int temp = nar[i];      
                    nar[i] = nar[i+1];
                    nar[i+1] = temp;
                    temp = indx[i];         
                    indx[i] = indx[i+1];
                    indx[i+1] = temp;
              }
    cout << "max position = "<< indx[0] << endl; 
 
    system("pause");
    return 0;
}
0
Ossuary
0 / 0 / 0
Регистрация: 28.10.2016
Сообщений: 24
28.10.2016, 14:08  [ТС] 3
мне кажется это слишком сложно, таких функций еще не проходил.
Нужно как то сделать через While , то есть ввести количество (n) чисел, и самое длинное по цифрам он вывел как например "большее количество цифр в 2-ом числе "
прикрепил скрин как примерно хочу сделать, но не могу сообразить как, не знаю такой оператор(

 Комментарий модератора 
Переписывайте код на форум
0
Peoples
1377 / 859 / 757
Регистрация: 06.02.2016
Сообщений: 2,275
Записей в блоге: 18
Завершенные тесты: 5
28.10.2016, 14:13 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
int main() {
    vector<pair<string,int> >val;
    for(int i=0; i!=10; i++) {
        int n;
        cin>>n;
        string s=to_string(n);
        val.push_back(pair<string,int>(s,i));
    }
    sort(val.begin(),val.end(),[](pair<string,int>&a, pair<string,int>&b) {
        return a.first.length()>b.first.length();
    });
    for(vector<pair<string,int> >::iterator iter=val.begin(); iter!=val.end(); iter++) {
        cout<<iter->first<<"  "<<iter->second<<endl;
    }
    return 0;
}
0
28.10.2016, 14:13
MrGluck
Форумчанин
Эксперт CЭксперт С++
8121 / 4973 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
28.10.2016, 14:15 5
C++
1
2
3
4
5
6
7
8
9
#include <algorithm>
#include <cmath>
#include <iostream>
 
int main()
{
    const int arr[] = {1, 2, 3, -100500, 300, 0};
    std::cout << std::distance(arr, std::max_element(std::begin(arr), std::end(arr), [](const int x, const int y) { return fabs(x) < fabs(y); })) + 1;
}
1
Peoples
1377 / 859 / 757
Регистрация: 06.02.2016
Сообщений: 2,275
Записей в блоге: 18
Завершенные тесты: 5
28.10.2016, 14:18 6
MrGluck, Красиво
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8121 / 4973 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
28.10.2016, 14:20 7
Peoples, есть нюанс с отрицательными числами. В вашем алгоритме -100 считается лучшим вариантом по сравнению с 9999. Хотя первое число содержит 3 цифры, а второе 4.

Добавлено через 17 секунд

Не по теме:

Спасибо

1
Peoples
1377 / 859 / 757
Регистрация: 06.02.2016
Сообщений: 2,275
Записей в блоге: 18
Завершенные тесты: 5
28.10.2016, 14:21 8
MrGluck, да, заметил позже
Цитата Сообщение от MrGluck Посмотреть сообщение
отрицательными числами
0
Ossuary
0 / 0 / 0
Регистрация: 28.10.2016
Сообщений: 24
29.10.2016, 11:44  [ТС] 9
Такая задача: вводим последовательность n чисел, и надо чтобы на экран вывелся порядковый номер того, где больше всего символов.
Начал делать но программа не работает, скинул скрин как начал делать, если поправите меня буду очень благодарен.
0
GbaLog-
Любитель чаепитий
3171 / 1476 / 466
Регистрация: 24.08.2014
Сообщений: 5,211
Записей в блоге: 1
Завершенные тесты: 2
29.10.2016, 12:04 10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/////////////////////////////////////////////////////////////////////////////////////////
// вводим последовательность n чисел, 
// и надо чтобы на экран вывелся порядковый номер того, где больше всего символов. 
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
size_t count_of_numbers( int n )
{
    return n > 0 ? 1 + count_of_numbers( n / 10 ) : 0;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    size_t n{};
    size_t idx{};
    int max{};
    
    std::cin >> n;
    
    for( size_t it{}; it < n; ++it )
    {
        int nn{};
        
        std::cin >> nn;
        
        if( count_of_numbers( nn ) > max )
        {
            max = count_of_numbers( nn );
            idx = it;
        }
    }
    std::cout << idx + 1;
}
1
29.10.2016, 12:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2016, 12:04

Определить максимальное количество цифр, из которых складываются числа последовательности
Для n введенных пользователем натуральных чисел определить максимальное количество цифр, из которых...

Проверить есть ли заданные числа в последовательности Фибоначчи, и найти их порядковый номер
В функцию с переменным числом параметров передаются целые числа. Проверить эсть ли эти числа в...

Функция: для каждого числа последовательности определить количество его нечетных цифр
Вводится последовательность целых чисел, 0-конец ввода. Написать функцию, которая для каждого числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru