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

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

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

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


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

Задача 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
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
строка от обычного массива 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
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  [ТС]
выдает ошибку (((

Добавлено через 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
Цитата Сообщение от Salik56 Посмотреть сообщение
выдает ошибку (((
какую? компилятор вам пишет где ошибка, тут нету телепатов
1
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:25
Salik56, среда какая ? я в VS делал.
1
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 26
01.02.2011, 17:26  [ТС]
Цитата Сообщение от dampir_sanek Посмотреть сообщение
Salik56, среда какая ? я в VS делал.
C++Builder 2010
0
152 / 150 / 44
Регистрация: 09.02.2010
Сообщений: 407
01.02.2011, 17:27
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  [ТС]
Цитата Сообщение от 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  [ТС]
Цитата Сообщение от 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
Salik56, это что? Вы книги вообще читаете по программированию?
C++
1
string str = "2x!xbcx8$5s";
1
14 / 14 / 1
Регистрация: 26.01.2011
Сообщений: 64
01.02.2011, 17:51
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  [ТС]
Цитата Сообщение от 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
sadok очепятка
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
01.02.2011, 18:04
Я так на С++ писал бы.. =)
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  [ТС]
Цитата Сообщение от 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
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
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
2sadok я в курсе
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2011, 18:32
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru