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

Подскажите со строковым видом в С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:00     Подскажите со строковым видом в С++ #1
Даны натуральное число , символы . Подсчитать, сколько раз среди данных символов встречается буква . (Строковый вариант: дана строка символов; подсчитать, сколько раз среди символов строки встречается буква .)


Примерный программа, но тут не хватает строкового варианта:

Задача 1.4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int main (){
char str[10]={'2','x','!','x','b','c','x','8','$','5'},s;
int i,n=0;
for (i = 0; i < 10; i++) {
  s=str[i];
  if (s=='x'){
    n++;
    }
}
cout << n ;
getchar ();
return 0;
}
ПОДСКАЖИТЕ РЕШЕНИЕ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 17:12     Подскажите со строковым видом в С++ #2
строка от обычного массива char отличается наличием символа '\0' в конце.
C++
1
2
3
4
5
6
char str[10]={'2','x','!','x','b','c','x','8','$','5', '\0'};
for (i = 0; i < 11; i++) {
s=str[i];
if (s=='x'){
n++;
}
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:14     Подскажите со строковым видом в С++ #3
Salik56,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
int main (){
 
    string str = "2x!xbcx8$5s";
    char s;
    int i, n = 0;
    for (i = 0; i < 10; i++) {
        s = str[i];
        if (s == 'x') n++;
    }
    cout << n ;
    getchar ();
    return 0;
}
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:25  [ТС]     Подскажите со строковым видом в С++ #4
выдает ошибку (((

Добавлено через 1 минуту
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[COLOR="Red"]#include "stdafx.h"[/COLOR]
#include <iostream>
#include <string>
 
using namespace std;
 
int main (){
 
    string str = "2x!xbcx8$5s";
    char s;
    int i, n = 0;
    for (i = 0; i < 10; i++) {
        s = str[i];
        if (s == 'x') n++;
    }
    cout << n ;
    getchar ();
    return 0;
}
показывает красным цветом
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 17:25     Подскажите со строковым видом в С++ #5
Цитата Сообщение от Salik56 Посмотреть сообщение
выдает ошибку (((
какую? компилятор вам пишет где ошибка, тут нету телепатов
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:25     Подскажите со строковым видом в С++ #6
Salik56, среда какая ? я в VS делал.
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:26  [ТС]     Подскажите со строковым видом в С++ #7
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, среда какая ? я в VS делал.
C++Builder 2010
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:27     Подскажите со строковым видом в С++ #8
Salik56, значит удали строчку эту.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
using namespace std;
 
int main (){
 
        string str = "2x!xbcx8$5s";
        char s;
        int i, n = 0;
        for (i = 0; i < 10; i++) {
                s = str[i];
                if (s == 'x') n++;
        }
        cout << n ;
        getchar ();
        return 0;
}
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:28  [ТС]     Подскажите со строковым видом в С++ #9
Цитата Сообщение от panicwassano Посмотреть сообщение
какую? компилятор вам пишет где ошибка, тут нету телепатов
char str[10]={'2','x','!','x','b','c','x','8','$','5', '\0'},s;
красный цвет "There are error"
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:35  [ТС]     Подскажите со строковым видом в С++ #10
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, значит удали строчку эту.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
using namespace std;
 
int main (){
 
        string str = "2x!xbcx8$5s";
        char s;
        int i, n = 0;
        for (i = 0; i < 10; i++) {
                s = str[i];
                if (s == 'x') n++;
        }
        cout << n ;
        getchar ();
        return 0;
}
Спасибо все работает

Добавлено через 4 минуты
Цитата Сообщение от Salik56 Посмотреть сообщение
Спасибо все работает

Вопрос: "А где тут строковый вид?"
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:44     Подскажите со строковым видом в С++ #11
Salik56, это что? Вы книги вообще читаете по программированию?
C++
1
string str = "2x!xbcx8$5s";
sadok
14 / 14 / 0
Регистрация: 26.01.2011
Сообщений: 64
01.02.2011, 17:51     Подскажите со строковым видом в С++ #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
int main(void)
{
    setlocale (LC_CTYPE, ".1251"); 
    setlocale (LC_MONETARY, ".1251"); 
    int col=0;
    char t;
    string s = "nnpivet";
    cout<<"Введите искомый символ:";
    cin>>t;
    for(int i=0;i<s.length();++i)
        if(s[i]==t) ++col;
    cout<<"\nколичество="<<col;
    _getch();
    return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от panicwassano Посмотреть сообщение
char str[10]={'2','x','!','x','b','c','x','8','$','5', '\0'};
убило=))) как в чар массив из 10 елементов закинуть 11?))))
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 17:57  [ТС]     Подскажите со строковым видом в С++ #13
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, это что? Вы книги вообще читаете по программированию?
C++
1
string str = "2x!xbcx8$5s";
программа выполняется, ну значит завтра будет видно

Добавлено через 4 минуты
Цитата Сообщение от Salik56 Посмотреть сообщение
программа выполняется, ну значит завтра будет видно
книги только начинаю читать, ибо сессия у заочника только 2 недели )
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 18:04     Подскажите со строковым видом в С++ #14
sadok очепятка
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
01.02.2011, 18:04     Подскажите со строковым видом в С++ #15
Я так на С++ писал бы.. =)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "string line";
    char ch; 
 
    std::cout << "Input char: "; std::cin >> ch;
    std::cout << "Count [ " << ch << " ] in str [ " << str << " ] = "
          << std::count(str.begin(), str.end(), ch) << std::endl;
 
    return 0;
}
Salik56
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 21
01.02.2011, 18:09  [ТС]     Подскажите со строковым видом в С++ #16
Цитата Сообщение от ISergey Посмотреть сообщение
Я так на С++ писал бы.. =)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "string line";
    char ch; 
 
    std::cout << "Input char: "; std::cin >> ch;
    std::cout << "Count [ " << ch << " ] in str [ " << str << " ] = "
          << std::count(str.begin(), str.end(), ch) << std::endl;
 
    return 0;
}

и что в ней делать???
dampir_sanek
149 / 147 / 21
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 18:14     Подскажите со строковым видом в С++ #17
Salik56, там просто задержки экрана не хватает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <algorithm>
#include <iostream>
#include <string>
#include <conio.h>
 
int main()
{
        std::string str = "string line";
        char ch;
 
        std::cout << "Input char: "; std::cin >> ch;
        std::cout << "Count [ " << ch << " ] in str [ " << str << " ] = "
                  << std::count(str.begin(), str.end(), ch) << std::endl;
        getch();
        return 0;
}
sadok
14 / 14 / 0
Регистрация: 26.01.2011
Сообщений: 64
01.02.2011, 18:31     Подскажите со строковым видом в С++ #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
 
int main(void)
{
    setlocale (LC_CTYPE, ".1251"); 
    setlocale (LC_MONETARY, ".1251"); 
    int col=0;
    char t;
    string s;
    cout<<"Введите строку :";
    getline(cin,s);
    cout<<"\nВведите искомый символ:";
    cin>>t;
    for(int i=0;i<s.length();++i)
        if(s[i]==t) ++col;
    cout<<"\nколичество="<<col;
    _getch();
    return 0;
}
код работает со строкой даже имеющии пробелы,возможно ето немного сложнее програма и для здачи,будет неактуальна,но для развития в програмировании думаю будет лутше

Добавлено через 2 минуты
Цитата Сообщение от panicwassano Посмотреть сообщение
sadok очепятка
лутше было зделать так -

C++
1
char t[]="пишеш сколько влезет,ну точнее есть придел,но всеровно достаточно много";
п.с. использование кода приведенного выше,тоесть массив чаровский без размера,возможен только в том случае ,если он сразу же заполняетсяж

Добавлено через 1 минуту
Цитата Сообщение от dampir_sanek Посмотреть сообщение
std::cin >> ch;
проблематично считывать cin-ом строки,так как cin, считает всё до первого пробела,а если строка с пробелами??? смотри мой код,чуть ниже твоего,использую getline
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2011, 18:32     Подскажите со строковым видом в С++
Еще ссылки по теме:

немогу разобраться со строковым типом и задачей с простыми числами. C++
C++ подскажите что делать при вводимых данных 10 25 и 5 20 программа работает не правильно должна выводить 135 подскажите что делать
C++ на С++ вывести информацию о учащихся, занимающихся заданным видом спорта

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

Или воспользуйтесь поиском по форуму:
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 18:32     Подскажите со строковым видом в С++ #19
2sadok я в курсе
Yandex
Объявления
01.02.2011, 18:32     Подскажите со строковым видом в С++
Ответ Создать тему
Опции темы

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