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

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

15.05.2012, 22:15. Показов 1616. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2012, 22:15
Ответы с готовыми решениями:

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

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

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

21
 Аватар для Ternsip
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:22
Ваш код не работает? Мне не ясна суть проблемы...

Добавлено через 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  [ТС]
Он работает, но я не могу вводит данные через консоль. Они заданы как const. Не могу сделать чтобы ввод был через консоль
0
 Аватар для Ternsip
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:25
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
Ну если надо вводить, значить хотя б cin >> должен быть. А тут ничего нет подобного.
0
 Аватар для Ternsip
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:27
А у меня ввод из файла, только вывод в консоль

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

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

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

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

Добавлено через 1 минуту
Вы можете мою переделать?
что нужно вместо этого написать чтобы ввод был через консоль
C++
1
char *str = "Hello 123 country 5658546 my, i'm your son 1116, yeah!";
0
 Аватар для Ternsip
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:55
Цитата Сообщение от MerlinLegend Посмотреть сообщение
Спасибо, но результат не выдает. Пиши и пиши ничего не считает

Добавлено через 27 секунд
Visual Studio 2010
Если закомпилилось, тогда после теста в консоли поставьте / и нажмите Энтер и всё ок будет
0
35 / 35 / 11
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 22:55
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
 Аватар для Ternsip
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
15.05.2012, 22:59
Цитата Сообщение от 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  [ТС]
Программа компиляеться, но результата нет. "labora.exe": Загружено: "C:\Users\OLEG VORONIN\Desktop\5\labora\Debug\labora.ex e", Символы загружены.
"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
MerlinLegend, ты же пиши чей вариант ты пробуешь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2012, 23:05
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru