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

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

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

Переделать программу - C++

15.05.2012, 22:15. Просмотров 805. Ответов 21
Метки нет (Все метки)

Здравствуйте. Помогите с программой

Дан текст; найти наибольшее количество цифр идущих в нем подряд.
Способ задания текста может выбираться в зависимости от используемого языка программирования и от того, какие сложности готов преодолевать решающий задачу. Текст может быть последовательностью символов (в частности—содержимым символьного файла), строкой, группой строк (в частности — содержимым текстового файла) и т. д. Надо сделать так чтобы в консоли сам набирал команды. Заранее спасибо
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
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <cctype>
 
using namespace std;
 
int main(int argc, char *argv[])
{
   int i=0, j, sum=0, cont;
   char *str = "Hello 123 country 5658546 my, i'm your son 1116, yeah!";
   
   while(str[i] != '\0') //Пока не конец строки
   {
        if(isdigit(str[i]))  //если символ - цифра, то
        {
            j=i;
            cont=0;
            while(isdigit(str[j])) // ведем подсчет до тех пор пока цифра.
            {
                 cont++;
                 j++;
            }
            if(sum<cont) sum=cont;
        i=j;
        }
        i++;
   }
    cout << sum << "\n";
          
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать программу (C++):

Переделать программу 1 в программу 2 с использованием функций - C++
проблема в том, что компилятор не ругается, но программа зависает при выполнении. уже много времени на это потратил. вроде задание не...

Нужно программу на Паскале переделать в программу на С++ - C++
Помогите, пожалуйста!!! У меня есть программа на Паскале , а нужно ее переписать, чтобы она была на С++ (windows консоль). Текст...

Переделать программу из C# в C++ - C++
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; ...

Переделать программу - C++
Используя задание данного кода &quot;Структурированные типы данных&quot;, разработать программу, используя в качестве контейнера для хранения данных...

переделать программу - C++
Помогите изменить программу чтобы она была гибкой(Чтоб всегда можно было изменить количество чисел (не только 10)) И чтобы когда нет...

Переделать программу с do while - C++
Помогите пожалуйста переделать эту программу с do while #include &lt;iostream.h&gt; Using namespace std; Int main (void) { Int...

21
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:22 #2
Ваш код не работает? Мне не ясна суть проблемы...

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
int main(){
    ifstream in("input.txt");
    char ch;
    int j=0,k=0;
    while (in>>ch) if ('0'<=ch && ch<='9') j++;else {if (j>k) k=j;j=0;}
    cout<<k;
    getch();
    return 0;
}
1
MerlinLegend
1 / 1 / 0
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:23  [ТС] #3
Он работает, но я не могу вводит данные через консоль. Они заданы как const. Не могу сделать чтобы ввод был через консоль
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:25 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
int main(){
    ifstream in("input.txt");
    char ch;
    int j=0,k=0;
    while (in>>ch) if ('0'<=ch && ch<='9') j++;else {if (j>k) k=j;j=0;}
    if (j>k) k=j;
    cout<<k;
    getch();
    return 0;
}
//У меня был баг в коде, поправьте
1
DeathMetal
45 / 45 / 2
Регистрация: 05.05.2012
Сообщений: 178
15.05.2012, 22:26 #5
Ну если надо вводить, значить хотя б cin >> должен быть. А тут ничего нет подобного.
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:27 #6
А у меня ввод из файла, только вывод в консоль

Добавлено через 15 секунд
Цитата Сообщение от DeathMetal Посмотреть сообщение
Ну если надо вводить, значить хотя б cin >> должен быть. А тут ничего нет подобного.
in>>ch

Добавлено через 49 секунд
Вы наоборот хотите через консоль ввести?
0
DeathMetal
45 / 45 / 2
Регистрация: 05.05.2012
Сообщений: 178
15.05.2012, 22:28 #7
Ternsip, теперь увидел, извиняюсь.
1
MerlinLegend
1 / 1 / 0
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:32  [ТС] #8
Программа не работает. При запуске выдаёт 0

Добавлено через 43 секунды
Да через консоль
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:35 #9
Цитата Сообщение от MerlinLegend Посмотреть сообщение
Программа не работает. При запуске выдаёт 0

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

Добавлено через 26 секунд
Ага, всё увидел

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
int main(){
    char ch;
    int j=0,k=0;
    while (cin>>ch) if ('0'<=ch && ch<='9') j++;else {if (j>k) k=j;j=0;if (ch=='/') break;}
    if (j>k) k=j;
    cout<<k;
    getch();
    return 0;
}
// Когда введёте / прога закончит ввод из консоли
0
MerlinLegend
1 / 1 / 0
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:38  [ТС] #10
У меня почему то не создаеться
0
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 22:42 #11
ввод с консоли
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char str[1024];
fgets(str,[1024],stdin);
while(str[i] != '\0') //Пока не конец строки
   {
        if(isdigit(str[i]))  //если символ - цифра, то
        {
            j=i;
            cont=0;
            while(isdigit(str[j])) // ведем подсчет до тех пор пока цифра.
            {
                 cont++;
                 j++;
            }
            if(sum<cont) sum=cont;
        i=j;
        }
        i++;
   }
    cout << sum << "\n";
0
Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:44 #12
Цитата Сообщение от MerlinLegend Посмотреть сообщение
У меня почему то не создаеться
На чём пишете то?
0
MerlinLegend
1 / 1 / 0
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:46  [ТС] #13
Спасибо, но результат не выдает. Пиши и пиши ничего не считает

Добавлено через 27 секунд
Visual Studio 2010
0
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 22:47 #14
MerlinLegend, мое тоже не работает??
0
MerlinLegend
1 / 1 / 0
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:52  [ТС] #15
Да ваше тоже. В консоль вводить можно, но ничего не делает

Добавлено через 1 минуту
Вы можете мою переделать?
что нужно вместо этого написать чтобы ввод был через консоль
C++
1
char *str = "Hello 123 country 5658546 my, i'm your son 1116, yeah!";
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 22:52
Привет! Вот еще темы с ответами:

Переделать программу. - C++
Эта программа определяет какие слова встречаються в строчке по одному разу.Надо определить какое слово будет встречаться в строчке чаще...

Переделать программу - C++
Вот задание- Даны строки S1 и S2. Сформировать строку S таким образом, чтобы в нее сначала вошли все четные слова строки S1, а потом все...

Переделать программу - C++
Ребят помогите девушке не понимаю сама как решить вот есть программа #include &lt;iostream&gt; using namespace std; void...

Переделать программу - C++
помогите изменить программу, программа ищет наименьший элемент последовательности, а мне надо индекс этого элемента т.е порядковой номер...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
15.05.2012, 22:52
Ответ Создать тему
Опции темы

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