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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
#1

Посчитать количество подряд идущих символов в каждой строке - C++

09.01.2014, 01:01. Просмотров 1680. Ответов 5
Метки нет (Все метки)

привет всем.
очень нужна помощь.
бо бьюсь об неё уже не один день.
дело в следующим:
есть файл в нём строки с числами
как посчитать количество подряд идущих символов в каждой строке?
и потом как строку с самой длинной последовательностью переписать в другой файл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 01:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать количество подряд идущих символов в каждой строке (C++):

В строке посчитать наибольшее количество идущих подряд пробелов - C++
В строке посчитать наибольшее количество идущих подряд пробелов

Описать функцию, которая подсчитывает максимальное количество символов, идущих подряд в строке - C++
Добрый день! Дали задание, но не совсем ясно, а выполнить надо. Просьба написать: a)функцию, которая подсчитывает максимальное...

Посчитать максимальное количество подряд идущих отрицательных элементов в целочисленном массиве - C++
3) Посчитайте максимальное количество подряд идущих отрицательных элементов в целочисленном массиве длины 30.

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

Определить максимальное количество одинаковых символов, идущих подряд - C++
Ввести строку с клавиатуры. Определить максимальное количество одинаковых символов, идущих подряд. срочно нужно до 6 числа.помогите

Найти наибольшее количество подряд идущих цифр в строке - C++
Напишите код пожалуйста к условию: Дан текст; найти наибольшее количество цифр, идущих в нем подряд. Добавлено через 4 часа 33...

5
UriahHeep
222 / 217 / 41
Регистрация: 24.09.2012
Сообщений: 509
Записей в блоге: 2
09.01.2014, 10:52 #2
Цитата Сообщение от mx_sagat Посмотреть сообщение
количество подряд идущих символов в каждой строке
Количество подряд идущих ОДИНАКОВЫХ символов? В каком виде должен быть результат?
1
egor2116
340 / 371 / 42
Регистрация: 20.01.2013
Сообщений: 1,130
09.01.2014, 10:58 #3
Как то так
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
38
39
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
 
void printVector(std::string str)
{
  std::cout << str << " ";
}
 
bool findMaxWord(std::string str1, std::string str2)
{
  return str1.length() < str2.length(); 
}
 
int main()
{   
  std::ofstream out("data.txt");
  std::string str;
  std::cout << "Input offer : "; std::getline(std::cin, str);
  out << str;  out.close();
  
  std::ifstream in("data.txt");
  std::vector< std::string > vec;
  while(in >> str)
     vec.push_back(str);
  
  std::for_each(vec.begin(), vec.end(), printVector);
  std::vector< std::string >::iterator it = std::max_element(vec.begin(), vec.end(), findMaxWord);
  std::cout << "The longest word : " << *it << std::endl;
  
  out.open("newData.txt");
  out << *it;
  out.close();   
    
  system("PAUSE");
  return 0;
}
0
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 11:37  [ТС] #4
UriahHeep, должно получится так
12365
1234678
в первой строке будет 3 последовательных числа а во второй будет 4.
и вторую строку записать в новый файл.
0
mx_sagat
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
15.01.2014, 03:14  [ТС] #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
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cstdio>
#include <conio.h>
        
#define STRLEN 128
#define SPCHARS " ,.\t\n"
 
int main(void){
        char str[STRLEN], *pWord, *pLongest;
        int len, longest;
        
        printf("String: ");
 
        
        if ( !fgets(str, sizeof(str), stdin) || *str == '\n' )
                exit(1);
 
        
        if ( ( pLongest = strtok(str, SPCHARS) ) == NULL )
                exit(1);
        longest = strlen(pLongest);
 
 
        
        while ( pWord = strtok(NULL, SPCHARS) ){
                if ( ( len = strlen(pWord) ) > longest ){
                        longest = len;
                        pLongest = pWord;
                }
        }
        printf("Longest word is \"%s\" lenght - %d characters\n", pLongest, longest);
         system("pause");
        
        
        return 0;
}
0
UriahHeep
222 / 217 / 41
Регистрация: 24.09.2012
Сообщений: 509
Записей в блоге: 2
15.01.2014, 22:50 #6
Находит самое длинное слово в строке.
Почитать, как работает функция strtok().

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
38
39
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cstdio>
#include <conio.h>
        
#define STRLEN 128 // длина буфера, в который будет считываться строка из входного потока
#define SPCHARS " ,.\t\n" // набор разделителей для функции strtok()
 
int main(void){
        char str[STRLEN], *pWord, *pLongest;
        int len, longest;
        
        printf("String: ");
 
        
        if ( !fgets(str, sizeof(str), stdin) || *str == '\n' ) // считываем строку из входного потока
                exit(1); // если функция fgets() вернула ноль, то завершить программу
 
        
        if ( ( pLongest = strtok(str, SPCHARS) ) == NULL ) // если в строке str функция strtok() не находит лексем, то и нечего дальше делать
                exit(1);
        longest = strlen(pLongest);
 
 
        
        while ( pWord = strtok(NULL, SPCHARS) ){ // в цикле получаем от strtok() очередную лексему (слово) из строки
                if ( ( len = strlen(pWord) ) > longest ){ // если лексема длиннее предыдущей, то сохраняем длину и указатель на лексему
                        longest = len;
                        pLongest = pWord;
                }
        }
        printf("Longest word is \"%s\" lenght - %d characters\n", pLongest, longest);
         system("pause");
        
        
        return 0;
}
1
15.01.2014, 22:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2014, 22:50
Привет! Вот еще темы с ответами:

Подсчитать наибольшее количество идущих подряд пробелов в строке - C++
Здраствуйте, помогите написать код к такой задаче: Дана строка символов S. а) Подсчитать наибольшее количество идущих подряд пробелов....

Найти наибольшее количество подряд идущих цифр в строке - C++
Дан текст.Найти наибольшее количество подряд идущих цифр. ПОМОГИТЕ ПОЖАЛУЙСТА...

В строке подсчитать наибольшее количество букв идущих подряд - C++
Дана строка символов. Подсчитать наибольшее количество подряд идущих букв. Букву для подсчета запросить у пользователя.

Работа с функциями. Подсчитать наибольшее количество идущих подряд символов пробела - C++
Помогите пожалуйста)) Задание: Заданы натуральное число n, символы S1, ... , Sn Подсчитать наибольшее количество идущих подряд символов...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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