Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chasss
0 / 0 / 0
Регистрация: 13.02.2010
Сообщений: 10
#1

Находим длину самого длинного числа - C++

29.03.2010, 13:56. Просмотров 944. Ответов 5
Метки нет (Все метки)

Ребята, наверное это легко но я чего то не допонимаю


Написать программу, которая в текстовом файле, состоящем из строк длиной не более 50 символов, находит порядковый номер и длину самого длинного числа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2010, 13:56     Находим длину самого длинного числа
Посмотрите здесь:

Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова. - C++
помогите написать программу =) очень нужно=) Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова.

Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. - C++
1. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. 2. 14.14. Имеется строка, содержащая буквы...

Найти длину самого короткого и самого длинного слова - C++
помогите решить Дана символьная строка, содержащая текст, который заканчивается точ¬кой. Найти длину самого короткого и самого длинного...

Строки (Найти длину самого короткого и самого длинного слова, а также сами эти слова) - C++
Люди, подскажите, плиз, как написать програмку в с++ за условием, что дана строка, состоящая из слов, разделенных пробелами (одним или...

Найти длину самого короткого и самого длинного слова, а также сами эти слова - C++
Народ, помогите, пожалуйста, как мне написать код в с++ програмки, в которой дана строка, состоящая из слов, разделенных пробелами (одним...

Найти длину самого короткого слова и самого длинного слова в строке - C++
помогите!!! Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
29.03.2010, 16:28     Находим длину самого длинного числа #2
если всё правильно понимаю то должно это выглядеть как-то так:
C++
1
2
3
4
5
6
7
8
int myMaxValue = 328746;
int res = myMaxValue;
int col = 0;
do 
{
    col++;
    res = res / 10;
} while (res>0);
в переменной col и будет длинна числа.

Добавлено через 1 час 21 минуту
эм... как в С++ читать файлы - не помню, но алгоритм должен быть примерно таким:
вычитать строки в динамический массив, выбрать строку с наибольшим количеством символов, если таких строк более чем одна, то начать посимвольно, начиная с 0-го символа строки сравнивать числа, если число меньше - отбрасываем строку, так продолжаем пока не останется одна строка, выводим номер строки и sizeof() строки.
Chasss
0 / 0 / 0
Регистрация: 13.02.2010
Сообщений: 10
29.03.2010, 18:28  [ТС]     Находим длину самого длинного числа #3
не пойму а как она будет считать длину а уж тем более порядковый номер числа...?
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
30.03.2010, 10:01     Находим длину самого длинного числа #4
создаём массив numbers[][] = {{"165168465"}, {"321"}}; и т.д. (только вычитываем из файла). делаем условие для файла, что каждая новая строка - это новое число.
эм... длинна числа будет равна длине строки т.е. сравниваем sizeof(numbers[n]) и sizeof(numbers[n+1]) (sizeof(numbers[n]) - это и будет длинна числа, а n - это порядковый номер), дальше как описывал выше. (могу ошибаться, если что- прошу поправить).
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
30.03.2010, 13:41     Находим длину самого длинного числа #5
Если файл состоит только из чисел:
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
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::string str;
    size_t maxsize, maxnum, curnum;
    std::ifstream is("input.txt");
    if(is==NULL)
    {
        std::cout << "Error opening file" << std::endl;
        system("pause");
        return 1;
    }
    is >> str;
    curnum=maxnum=1;
    maxsize=str.size();
    if(!is.eof())
        while((is >> str)&&curnum++)
            if(maxsize<str.size())
            {
                maxsize=str.size();
                maxnum=curnum;
            }
    std::cout << "The number #" << maxnum << " has max length " << maxsize << std::endl;
    system("pause");
    return 0;
}
Нумерация начинается с единицы!

Добавлено через 9 минут
Если в файле есть не только числа:
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
#include <iostream>
#include <string>
#include <fstream>
 
bool isDigit(const std::string& s)
{
    std::string mask("0123456789");
    return s.find_first_not_of(mask)==std::string::npos;
}
 
int main()
{
    std::string str;
    size_t maxsize, maxnum, curnum;
    std::ifstream is("input.txt");
    if(is==NULL)
    {
        std::cout << "Error opening file" << std::endl;
        system("pause");
        return 1;
    }
    curnum=maxnum=0;
    maxsize=0;
    while((is >> str))
        if(isDigit(str))
        {
            ++curnum;
            if(str.size()>maxsize)
            {
                maxnum=curnum;
                maxsize=str.size();
            }
        }
    std::cout << "The number #" << maxnum << " has max length " << maxsize << std::endl;
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 13:59     Находим длину самого длинного числа
Еще ссылки по теме:

определить в массиве длину самого длинного ряда повторяющихся чисел - C++
Помогите пожалуйста решить данную задачу. Заранее огромное спасибо

С клавиатуры вводится текст,посчитать длину самого длинного слово - C++
Спасибо

Найти длину самого длинного слова и вывести это слово на экран - C++
Помогите с задачкой на С++, ничего не понял, хотя бы объясните алгоритм пожалуйста.

Вывод из вектора самого короткого и самого длинного string значения - C++
Вывод из вектора самого короткого и самого длинного string значения Подскажите как таковое сделать, если кому не трудно сможете ли вы...


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

Или воспользуйтесь поиском по форуму:
Chasss
0 / 0 / 0
Регистрация: 13.02.2010
Сообщений: 10
31.03.2010, 13:59  [ТС]     Находим длину самого длинного числа #6
Спасибо, попробую..

Добавлено через 3 часа 6 минут
Nameless One Спасибо Огромное! То что надо!!!!!!!!
Yandex
Объявления
31.03.2010, 13:59     Находим длину самого длинного числа
Ответ Создать тему
Опции темы

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