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

Найти самую длинную группу цифр (нужно исправить) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверить граф на цикличность, вывести простые циклы графа http://www.cyberforum.ru/cpp-beginners/thread1679375.html
как проверить граф на цикличность и вывести простые циклы графа?
C++ Вычислить функцию через ряд Тейлора Просмотрев ВСЕ темы, которые только были по ряду Тейлора, все равно не могу понять, в чем дело. Пожалуйста,помогите с кодом.Это моя вторая программа на с++ вот сам код #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread1679371.html
Найти причины и способы исправления ошибок в коде C++
#include <stdio.h> #include <time.h> #include <stdlib.h> int main () { int i,p,j,a; int k; int m; printf ("Ishodnyy massiv:\n"); for (i=0; i<=99; i++)
C++ Вычислить произведение элементов массива между первым максимальным и первым минимальным
Вычислить произведение элементов массива А, находящихся между первым максимальным и первым минимальным элементами.
C++ Шаблон функции http://www.cyberforum.ru/cpp-beginners/thread1679354.html
Привет, есть функции cinFloat() и cinInt() в коде, их я бы хотел заменить на шаблон функции(потому что они одинаковые, просто работают с разными типами данных), но не умею. Помогите, пожалуйста. Код...
C++ Вычисление интеграла методом Ньютона-Котеса Дан интеграл: \int_{0}^{\pi /2}\frac{x+sin(x)}{1+cos(x)} Методом Ньютона-Котеса вычислить интеграл (n=6) У меня такой код, но есть ошибки, не запускается, скажите пожалуйста как их устранить?... подробнее

Показать сообщение отдельно
Igrich
4 / 4 / 7
Регистрация: 07.03.2016
Сообщений: 44
07.03.2016, 19:14
Не понял зачем два раза пробегать по массиву(в начала и с конца),по моему проще сделать таким образом:
Пробегаем с первого до последнего, n - текущий размер, tmp - размер самой большой группы, max - номер элемента массива, с которого начинается самый большой последний блок цифр.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(){
    char *s;
    s = new char[100];
    cin >> s;
    int max=-1, tmp = 0, n = 0;
    for (int i = 0; i<=strlen(s); i++)
    {
        if (isdigit(s[i])){
            n++;
            continue;
        }
        if(n<tmp){
            n=0;
            continue;
        }
        tmp=n;
        n=0;
        max=i-tmp;
    }
    for (int i = max; i<max+tmp; i++)
        cout << s[i];
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru