Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
1

Обработка текстовой информации С++

07.12.2010, 18:53. Просмотров 954. Ответов 9
Метки нет (Все метки)

Вот значит добрые люди моя программа. Программа в строке символов должна находить первую и последнюю запятую. Всё отлично работает.

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
const int n=100;
 
int _tmain(int argc, _TCHAR* argv[])
{
   int i, c=0, v=0;
   char str[n];
   setlocale(LC_ALL,"rus");
   cout<<"Введите строку:";
   for(i=0;i<n;i++)
   {
      if(c==0)
      if(str[i]==',')
      {
         cout<<"Первая запятая в строке находится под номером"<<i+1<<"."<<endl;
         c++;
      }
      if(str[i]==',')
      if(v<i) v=i;
   }
   if(v==0)
   {
      cout<<"В строке, которую вы ввели запятых нет!"<<endl<<endl;
   }
   else
   {
      cout<<"Последняя запятая в строке находится под номером "<<v+1<<"."<<endl<<endl;
   }
   system("pause");
   getch();
   return 0;
}
Внимание вопрос! Нужно эту прогу переделать с библиотекой <string.h> и максимум её использовать. Читал справку, английский не знаю, ничего не нашел. Помогите плиз.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 18:53
Ответы с готовыми решениями:

Обработка текстовой информации
Здравствуйте, форумчане. Злой препод дал прогу, не могу написать голову...

Обработка текстовой информации (Задание по строкам)
Обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы.

Работа с файлами. Обработка текстовой информации
Необходимо написать программу, которая выполняет указанные операции (каждую...

Из Паскаля в Си++. Шифрование текстовой информации
Шифрование текстовой информации случайной заменой символов. Нужно из Паскаля...

Задания на тему: Кодирование текстовой информации
1.Десятичный код (номер) буквы &quot;е&quot; в таблице кодировки символов ASCll равен...

9
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
07.12.2010, 19:05 2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
 
int main()
{
    std::string str("ololo,ahah,wtf,proc,kaka");
    std::cout << "Pervaya <,> pod indexom: " << str.find_first_of(',', 0) << std::endl
              << "Vtoraya <,> pod indexom: " << str.find_last_of(',') << std::endl;
    return 0;
}
1
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
07.12.2010, 19:23  [ТС] 3
Спасибо, но мне нужно вводить строку с клавиатуры...
Как можно к этой проге прилепить ввод, если там строка в самой проге задана, так не пойдёт...
0
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3016 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
07.12.2010, 19:28 4
asics, вы не то сделали. Для данной задачи нужно использовать strchr() и strrchr() из хедера string.h
0
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
07.12.2010, 19:31 5
Perfaratar, Ну елементарно жэ
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main()
{
    std::string str;
    std::cout << "Enter str: ";
    std::getline(std::cin, str);
    std::cout << "Pervaya <,> pod indexom: " << str.find_first_of(',', 0) << std::endl
              << "Vtoraya <,> pod indexom: " << str.find_last_of(',') << std::endl;
    return 0;
}
Добавлено через 1 минуту
Kastaneda, Согласен.Значит показал еще одни способ решение этой задачи .
1
Kastaneda
Jesus loves me
Эксперт С++
4940 / 3016 / 346
Регистрация: 12.12.2009
Сообщений: 7,612
Записей в блоге: 2
Завершенные тесты: 1
07.12.2010, 19:42 6
Вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include <string.h>
using namespace std;
const int N=81;
int main(){
    char string[N];
    cout<<"Enter string : ";
    cin.getline(string,N-1);
    int a=(int)(strchr(string,',')-string+1);
    int b=(int)(strrchr(string,',')-string+1);
    cout<<"First comma in "<<a<<" position, latest comma in "<<b<<" position"<<endl;
    return 0;
}
опытным путем выяснил, что <string> и <string.h> не одно и то же. странно...
1
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
07.12.2010, 19:47  [ТС] 7
Спасибо всем огромное можно закрывать тему!!!
0
Kastaneda
07.12.2010, 20:01
  #8

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
<string> и <string.h> не одно и то же.
Что-то я гоню под вечер...

0
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
07.12.2010, 20:32  [ТС] 9
Я это уже понял когда ваши проги компилировал
0
Kastaneda
07.12.2010, 21:15     Обработка текстовой информации С++
  #10

Не по теме:

Цитата Сообщение от Perfaratar Посмотреть сообщение
Я это уже понял
Да не, на самом деле это действительно не одно и то же, просто в C++'ном исходнике пишется <cstring> вместо <string.h>. У меня это из головы вылетело, и я что-то задумался, как так нужно подключать <string.h>, странно )))

0
07.12.2010, 21:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2010, 21:15
Привет! Вот еще темы с ответами:

Обработка текстовой строки
Собственно задание определить, имеются ли в строке изображения двоичных чисел....

Обработка символьной информации
Помогите пожалуйста разобраться в задаче. (66.) Гороскоп. В древнеяпонском...

Обработка символьной информации
Помогите с заданием, кто сможет. Задание: В заданном тексте указать слово, в...


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

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

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