Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите с программой

Дан текст; найти наибольшее количество цифр идущих в нем подряд.
Способ задания текста может выбираться в зависимости от используемого языка программирования и от того, какие сложности готов преодолевать решающий задачу. Текст может быть последовательностью символов (в частности—содержимым символьного файла), строкой, группой строк (в частности — содержимым текстового файла) и т. д. Надо сделать так чтобы в консоли сам набирал команды. Заранее спасибо
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2012, 22:15
Ответы с готовыми решениями:

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

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

Переделать программу
Нужно переделать программу так, чтобы она выводила на консоль сумму в виде 5+10+15+20+25+...+95=950...

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

21
670 / 198 / 29
Регистрация: 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
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:23  [ТС] 3
Он работает, но я не могу вводит данные через консоль. Они заданы как const. Не могу сделать чтобы ввод был через консоль
0
670 / 198 / 29
Регистрация: 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
47 / 47 / 13
Регистрация: 05.05.2012
Сообщений: 178
15.05.2012, 22:26 5
Ну если надо вводить, значить хотя б cin >> должен быть. А тут ничего нет подобного.
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:27 6
А у меня ввод из файла, только вывод в консоль

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

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

Добавлено через 43 секунды
Да через консоль
0
670 / 198 / 29
Регистрация: 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
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:38  [ТС] 10
У меня почему то не создаеться
0
35 / 35 / 11
Регистрация: 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
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:44 12
Цитата Сообщение от MerlinLegend Посмотреть сообщение
У меня почему то не создаеться
На чём пишете то?
0
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 22:46  [ТС] 13
Спасибо, но результат не выдает. Пиши и пиши ничего не считает

Добавлено через 27 секунд
Visual Studio 2010
0
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 22:47 14
MerlinLegend, мое тоже не работает??
0
1 / 1 / 1
Регистрация: 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
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:55 16
Цитата Сообщение от MerlinLegend Посмотреть сообщение
Спасибо, но результат не выдает. Пиши и пиши ничего не считает

Добавлено через 27 секунд
Visual Studio 2010
Если закомпилилось, тогда после теста в консоли поставьте / и нажмите Энтер и всё ок будет
0
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 22:55 17
MerlinLegend, у меня все считает)
Вот полный код.
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
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
 
 
int main(int argc, char *argv[])
{
   int i=0, j, sum=0, cont;
   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++;
   }
   printf("%d\n",sum);
          
   return EXIT_SUCCESS;
}
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:59 18
Цитата Сообщение от MerlinLegend Посмотреть сообщение
что нужно вместо этого написать чтобы ввод был через консоль
C++
1
char *str = "Hello 123 country 5658546 my, i'm your son 1116, yeah!";
getline(cin,char *str);

Добавлено через 3 минуты
#include <string>
string str;
getline(cin,str);
0
1 / 1 / 1
Регистрация: 11.04.2011
Сообщений: 109
15.05.2012, 23:03  [ТС] 19
Программа компиляеться, но результата нет. "labora.exe": Загружено: "C:\Users\OLEG VORONIN\Desktop\5\labora\Debug\labora.exe", Символы загружены.
"labora.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll", Невозможно найти или открыть файл PDB
"labora.exe": Загружено: "C:\Windows\SysWOW64\kernel32.dll", Невозможно найти или открыть файл PDB
"labora.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll", Невозможно найти или открыть файл PDB
"labora.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll", Символы загружены.
Программа "[2864] labora.exe: Машинный код" завершилась с кодом 0 (0x0).
0
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 23:05 20
MerlinLegend, ты же пиши чей вариант ты пробуешь.
0
15.05.2012, 23:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2012, 23:05
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru