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

Символьные массивы

22.10.2010, 19:19. Показов 3710. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ввести свою Фамилию, имя и Отчество, как одно текстовое поле. Определить длину и количество букв "а" в нем. Решить задачу одним из способов:
1) рассматривая введенный текст, как массив символов.
2) используя функцию из библиотеки string.h

Задача: Начинается ли хотя бы одно слово на букву "М"

 Комментарий модератора 
Дублирование тем запрещено правилами форума (п. 3.4).
Не плодите одинаковых тем.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2010, 19:19
Ответы с готовыми решениями:

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

Символьные массивы
Написать и отладить программу для ввода предложения, содержащего несколько круглых скобок. Если...

Символьные массивы.
В строке длиной 80 символов поменять местами буквы И и Е в слове WHELI. С++

Символьные массивы и их друзья
Доброе время суток. Сразу хочу оговориться, что задача, условие которой я напишу далее, не связана...

17
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 19:31 2
Цитата Сообщение от Barca Посмотреть сообщение
Ввести свою Фамилию, имя и Отчество, как одно текстовое поле. Определить длину и количество букв "а" в нем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
int main()
{
    const int n = 256;
    char m[n];
    std::cin.getline(m, n);
    int count = 0;
    for(int i = 0; i < n; i++)
    {
            if(m[i] == 'a')
                 count++;
    }    
    std::cout << count << ' ' << strlen(m);
    std::cin.get();   
    std::cin.get();  
}
Так ?
1
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
22.10.2010, 19:45  [ТС] 3
Спасибо но можна как то без вот етого cin.getline і коменти к каждой строке и что мі делаем если можете, а вот етот пункт Начинается ли хотя бы одно слово на букву "М"
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 19:47 4
Цитата Сообщение от Barca Посмотреть сообщение
Спасибо но можна как то без вот етого cin.getline
А почему ето вас смущяет ?
2
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
22.10.2010, 20:02  [ТС] 5
просто еще не учили, а преподователь будет спрашывать что ето такое....

Добавлено через 4 минуты
и ето что strlen?

Добавлено через 14 секунд
на что можна заменить попроще?
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 20:06 6
Цитата Сообщение от Barca Посмотреть сообщение
и ето что strlen?
strlen
Цитата Сообщение от Barca Посмотреть сообщение
на что можна заменить попроще?
Если чесно то сам не знаю,ждите может люди по-умнее подскажут.
1
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
22.10.2010, 20:12  [ТС] 7
Можна еще к каждой строке комент пожалуста и все!!!=))))

Добавлено через 3 минуты
Цитата Сообщение от Asics^ Посмотреть сообщение
strlen

Если чесно то сам не знаю,ждите может люди по-умнее подскажут.
Уже нашол у себе, мы брали уже такое=)))
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 20:17 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> // стандартный ввод/вывод
#include <string> // для strlen()
 
int main()
{
    const int n = 256; //целечислинная константа - размер нашего масива m
    char m[n];// сам масив
    std::cin.getline(m, n);// вводим строку 
    int count = 0;//щётчик для подсчёта в строке букв а
    for(int i = 0; i < n; i++)
    {
            if(m[i] == 'a')// если i-ий елемент масива будет 'a' 
                 count++;//то инкрементируем переменную count 
    }    
    std::cout << count << ' ' << strlen(m);//выводим результат програмы на консоль
    std::cin.get();//задержка   
    std::cin.get();//аналогично  
}
0
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
22.10.2010, 20:18  [ТС] 9
Как сдесь в коде например дописать и где например мне нужно чтобы пысало Bykv A= и сдесь например как на картинке 1, и Koluchestvo bykv=24????
Миниатюры
Символьные массивы  
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 20:21 10
C++
1
2
std::cout << "Kolu4ectvo bykv 'a'" << count <<std::endl;
std::cout << "Dluna ctroku (+ probelu)" << strlen(m);
1
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
22.10.2010, 20:38  [ТС] 11
Очень спасибо Вам!!!=)))))))))))))))))))))))))))

Добавлено через 15 минут
а что с етим пунктом, Вы его разве сделали: Задача: Начинается ли хотя бы одно слово на букву "М"
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 21:08 12
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
#include <iostream>
#include <string>
 
int main()
{
    const int n = 256;
    char m[n];
    std::cin.getline(m, n);
    int count = 0;
    int x = 0;
    for(int i = 0; i < n; i++)
    {
            if(m[i] == 'a')
                 count++; 
            else if(m[i] == 'M')
                 x++;         
 
    }   
    std::cout << "Kolu4ectvo bykv 'a' = " << count << std::endl;
    std::cout << "Dluna ctroku (+ probelu) = " << strlen(m) << std::endl;
    std::cout << "Kolu4ecrvo clov Ha4uhaywuec9 Ha bykve 'M' = " << x;
    std::cin.get();   
    std::cin.get();  
}
При условие что каждое слово будет начинатсо з большой буквы.
1
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
22.10.2010, 21:10 13
А если слово начинается с заглавной А, считать ее не собираетесь?
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.10.2010, 21:18 14
IchMors, В принцыпе вы правы, но в условие задачи чотко сказано
количество букв "а"
а потом ещё
слово на букву "М"
значит регистр играет роль.
1
Эксперт С++
3953 / 1808 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
22.10.2010, 21:58 15
Barca, определить количество слов, начинающихся с буквы "M" можно так:
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
//---------------------------------------------------------------------------
#include <iostream>
#define Delimitters " .,;:!?\t\n"
//---------------------------------------------------------------------------
 
int main()
{
  char FIO[256] = { '0' };
  char *pToken = NULL;
  int Count = 0;
 
  std::cout << "Please, input FIO:\n" << std::endl;
  std::cin.getline(FIO,255);
 
  for (pToken = strtok(FIO, Delimitters); pToken; pToken = strtok(NULL, Delimitters)) {
    if (*pToken == 'M') {
      Count++;
    }
  }
 
  if (Count > 0) {
    std::cout << "Count of words started with 'M' literal: " << Count << std::endl;
  } else {
    std::cout << "No words started with 'M' literal" << std::endl;
  }
  std::system("pause");
 
  return 0;
}
//---------------------------------------------------------------------------
2
13 / 13 / 0
Регистрация: 22.10.2010
Сообщений: 80
26.10.2010, 23:29  [ТС] 16
А если нужно в место Начинается ли хотя бы одно слово на букву "М", сделать так Что бы фамилия выводилась в столбец.?
Как тогда сдесь переделать?
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
#include <iostream>
#include <string>
 
int main()
{
    const int n = 256;
    char m[n];
    std::cin.getline(m, n);
    int count = 0;
    int x = 0;
    for(int i = 0; i < n; i++)
    {
            if(m[i] == 'a')
                 count++; 
            else if(m[i] == 'M')
                 x++;         
 
    }   
    std::cout << "Kolu4ectvo bykv 'a' = " << count << std::endl;
    std::cout << "Dluna ctroku (+ probelu) = " << strlen(m) << std::endl;
    std::cout << "Kolu4ecrvo clov Ha4uhaywuec9 Ha bykve 'M' = " << x;
    std::cin.get();   
    std::cin.get();  
}
Добавлено через 2 часа 31 минуту
?????
0
137 / 137 / 25
Регистрация: 30.09.2010
Сообщений: 333
30.10.2010, 14:14 17
Barca, можно использовать вот так:
C++
1
 std::cout << "Kolu4ecrvo clov Ha4uhaywuec9 Ha bykve 'M' = " << setw(10) << x;
0
redKOTik
27.11.2011, 13:44 18
помогите с задачей на С++.

Даны натуральное число n и символы S(1), ..., S(n). Подсчитать сколько раз среди данных символов встречается символ *.
27.11.2011, 13:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2011, 13:44
Помогаю со студенческими работами здесь

Двумерные массивы (+символьные)
Вот 5 задач... необходимо помочь братишке... сам я в С++ не особо силен... Сильно прошу вас...

Символьные массивы. Сравнение с алфавитом
вечер добрый. задача такая: имеется символьный массив алфавитный(32 кириллица) и символьный...

Символьные массивы (исправить код)
Как удалить комы до первой точки? Я написал код, но от некорректно работает! Мне нужно сдвинуть...

Строковые переменные (символьные массивы)
Создать две строковые переменные (символьные массивы), содержащие ваше имя и фамилию. Выполнить с...


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

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