Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
1

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

01.02.2011, 17:00. Показов 1546. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны натуральное число , символы . Подсчитать, сколько раз среди данных символов встречается буква . (Строковый вариант: дана строка символов; подсчитать, сколько раз среди символов строки встречается буква .)


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

Задача 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;
}
ПОДСКАЖИТЕ РЕШЕНИЕ
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2011, 17:00
Ответы с готовыми решениями:

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

Функции со строковым параметром
Здравствуйте. Никак не могу понять, для чего нужен string::size_type, size_t и прочее. Почему...

Задачка по строковым функциям.
Ребят, такая задачка. Есть TMemo, туда вводим текст, жмем на клавишу и в отдельном окошке надо...

Теория по строковым литералам
Литералы Литералы, называемые также константами, — это фиксированные значения, которые не могут...

18
601 / 569 / 104
Регистрация: 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++;
}
1
152 / 150 / 44
Регистрация: 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;
}
1
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
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;
}
показывает красным цветом
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 17:25 5
Цитата Сообщение от Salik56 Посмотреть сообщение
выдает ошибку (((
какую? компилятор вам пишет где ошибка, тут нету телепатов
1
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:25 6
Salik56, среда какая ? я в VS делал.
1
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
01.02.2011, 17:26  [ТС] 7
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, среда какая ? я в VS делал.
C++Builder 2010
0
152 / 150 / 44
Регистрация: 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;
}
1
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
01.02.2011, 17:28  [ТС] 9
Цитата Сообщение от panicwassano Посмотреть сообщение
какую? компилятор вам пишет где ошибка, тут нету телепатов
char str[10]={'2','x','!','x','b','c','x','8','$','5', '\0'},s;
красный цвет "There are error"
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
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 Посмотреть сообщение
Спасибо все работает

Вопрос: "А где тут строковый вид?"
0
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:44 11
Salik56, это что? Вы книги вообще читаете по программированию?
C++
1
string str = "2x!xbcx8$5s";
1
14 / 14 / 1
Регистрация: 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?))))
1
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
01.02.2011, 17:57  [ТС] 13
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, это что? Вы книги вообще читаете по программированию?
C++
1
string str = "2x!xbcx8$5s";
программа выполняется, ну значит завтра будет видно

Добавлено через 4 минуты
Цитата Сообщение от Salik56 Посмотреть сообщение
программа выполняется, ну значит завтра будет видно
книги только начинаю читать, ибо сессия у заочника только 2 недели )
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 18:04 14
sadok очепятка
0
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 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;
}
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
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;
}

и что в ней делать???
0
152 / 150 / 44
Регистрация: 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;
}
1
14 / 14 / 1
Регистрация: 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
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
01.02.2011, 18:32 19
2sadok я в курсе
1
01.02.2011, 18:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2011, 18:32
Помогаю со студенческими работами здесь

задача по строковым данным №1
Дан текст, в котором слова отделаются пробелами, в конце стоит точка. если количество слов в тексте...

задача по строковым данным №2
С клавиатуры вводится длинное целое число, не менее 50 цифр. Определить, сколько в числе четных и...

Знак @ перед строковым литералом
Для чего используется знак @ перед строковым литералом? string text = @&quot;text.txt&quot;;

Задача со строковым типом данных
Для каждого из слов заданного текста указать сколько раз оно встречается.


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru