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

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

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

Обработка строк - C++

23.03.2012, 22:18. Просмотров 523. Ответов 4
Метки нет (Все метки)

//разделила предложение на слова, т.е. теперь каждое слово будет с новой строкой.
//Как теперь начать обрабатывать каждое слово по отдельности?


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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
setlocale(LC_ALL, "russian");
 
char a[80]; //хранит введенную строку
char *p;
 
cout << "Введите строку текста и нажмите Enter " << endl;   
cin.getline(a, sizeof(a));//сохраняет введенную строку
 
cout<<"\nЗаданная строка: "<<a<<endl;
 
p=strtok (a," ,.-");
while (p)
{
    cout<<p<<endl;
        p=strtok (NULL," ,.-");
        
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 22:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка строк (C++):

обработка строк - C++
1. Розработать алгоритм и программу для определения процента повторения заданнгого слова в предложении 2. Розработать программу и...

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

Обработка строк. - C++
Определить, сколько раз в строке встречается последовательность символов «ВЕС».

Обработка строк - C++
Найдите первую и последнюю буквы К в тексте введенном с клавиатуры. И замените их «*» Помогите пожалуйста!!!

обработка строк - C++
заменить в тексте одно словосочетание другим

Обработка строк. - C++
Дана строка и слово. Составить функцию, которая образует массив строк, оканчивающихся заданным словом. Каждая новая строка должна...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
23.03.2012, 22:23 #2
в цикле while и обрабатывайте
Sveta1992
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 10
23.03.2012, 23:16  [ТС] #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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
setlocale(LC_ALL, "russian");
int strl;
int chislo=0;//счетчик
 
char a[80]; 
char *p;
 
cout << "Введите строку текста и нажмите Enter " << endl;   
cin.getline(a, sizeof(a));
 
cout<<"\nЗаданная строка: "<<a<<endl;
 
p=strtok (a," ,.-");
while (p)
{
    cout<<p<<endl;
    p=strtok (NULL," ,.-");
        
 
 switch()
        {  
    case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8 ':case'9': 
    chislo++;break;
    default:break;  
    }
}
 
system ("pause");
}
Добавлено через 36 минут
ну или хотя бы длину этих подстрок строк, чтобы потом посимвольно можно было просматривать.
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
23.03.2012, 23:47 #4
Цитата Сообщение от Sveta1992 Посмотреть сообщение
Например, нужно определить сколько будет цифр в каждой строке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cctype>
 
int main()
{
        char str[256];
 
        std::cin.getline(str,256);
 
        int digits_count = 0;
 
        for(int i = 0; *(str + i) != '\0'; i++)
                if(isdigit(*(str+i)))
                        digits_count++;
 
        std::cout << digits_count << std::endl;
 
        return 0;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
23.03.2012, 23:53 #5

Не по теме:

Который год уже на форуме, всё не пойму никак - с какой целью студентов учат быдлокодить на непонятной смеси из С и С++? Какой вообще профит с этого?


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define DELIM " \t\n"
 
size_t digits_count(const char * s) { return ( *s ) ? !!isdigit(*s) + digits_count(s+1) : 0; }
 
int main(void){
    char buf[BUFSIZ], * p;
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p != NULL; p = strtok(NULL, DELIM) )
            printf("%-20s%d digits\n", p, digits_count(p));
    
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#include <functional>
#include <algorithm>
#include <cctype>
 
int main(){
    std::string str;
    
    while ( std::cout << "\nString: " && std::getline(std::cin, str) && ! str.empty() ){
        std::istringstream ist(str);
        while ( ist >> str )
            std::cout << std::setw(20) << std::left << str << std::count_if(str.begin(), str.end(), std::ptr_fun(isdigit)) << " digits" << std::endl;
    }
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 23:53
Привет! Вот еще темы с ответами:

Обработка строк - C++
Всем привет!!!Помогите пожалуйста в решении этих программ!! Я на вас сильно расчитываю... 1. Разработать алгоритм и программу для...

Обработка строк - C++
Ребята помогите написать программу, вырезающую из строки все цифры.

Обработка строк - C++
Удалить из строки все сдвоенные, строенные и т.д. символы

Обработка строк - C++
Помогите написать программу, которая проверяет содержатся ли в слове буквы, цифры?


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

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

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