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

Робота со строками в с++ 3.1 - C++

Восстановить пароль Регистрация
 
vogon_
0 / 0 / 1
Регистрация: 13.02.2011
Сообщений: 8
23.02.2011, 20:44     Робота со строками в с++ 3.1 #1
Помогите разрешить такую задачу, пожалуйста:

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# include <iostream.h>
# include <conio.h>
# include <string.h>
 
 
int main() {
clrscr();
    char v[]=" ";
    char s[]=" ";
    int i,sumr=0,sumv=0,c=0,k=0;
    cout<<"Vvedite stroku: "<<endl;
    cin>>s;
    for (i=0; s[i]!='\0'; i++) sumr++;
    cout<<"Koli4estvo simvolov: "<<sumr<<endl;
    cout<<"Vvedite simvoly, kotorye ne vsh4ityvatj: "<<endl;
    cin>>v;
    for (i=0; v[i]!='\0'; i++) sumv++;
    for (i=0; s[i]!='\0'; i++)
        {for (c=0;v[c]!='\0';c++) if (s[i]==v[c]) k++;}
    cout<<"Koli4estvo simvolov: "<<(sumr-k);
    getch();
    return 0;
    }
Програму нужно написать в Borland С++ 3.1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2011, 20:44     Робота со строками в с++ 3.1
Посмотрите здесь:

Робота с строками в С++ C++
C++ Робота з файлами
Робота со строками C++
робота с текстом C++
C++ Робота из символьными строками
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.02.2011, 21:01     Робота со строками в с++ 3.1 #2
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
#include <iostream>
#include <string>
#include <algorithm>
 
#include <windows.h>
 
int main(){
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  std::string        str;
  static std::string diff_symb;
  std::cout << "\n\nВедите строку: ";
  getline(std::cin, str);
  std::cout << "\n\nВедите символы, которые не буду учитоваться при подсчете длины строки: ";
  std::cin >> diff_symb;
  static size_t count = 0;
  struct func{
    void operator() (char a_){
      ( diff_symb.find(a_) != std::string::npos )? ++count : 0;
    }
  };
  std::for_each(str.begin(), str.end(), func());
  std::cout << "\n\nРезультат: " << str.length() - count;
  return 0;
}
MILAN
23.02.2011, 21:04
  #3

Не по теме:

asics, как раз под борланд

asics
23.02.2011, 21:07
  #4

Не по теме:

MILAN, Пишу на конкретном ЯП, заморочки допотопных компиляторов во внимание не беру

vogon_
0 / 0 / 1
Регистрация: 13.02.2011
Сообщений: 8
23.02.2011, 21:10  [ТС]     Робота со строками в с++ 3.1 #5
asics, спасибо, но раздел для новичков =): мой преподаватель сразу поймет, что "где-то" достал... а как попроще можна сделать програму? и, по-моему, этот текст программы не подойдет для borland c++ 3.1 (там нет "инклуда" algorithm).
Yandex
Объявления
23.02.2011, 21:10     Робота со строками в с++ 3.1
Ответ Создать тему
Опции темы

Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru