Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Символьные массивы, Переделать немного код 
:(
    Опции темы
Roma92
Дата 28.10.2010, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 28.10.2010

Репутация: нет
Всего: нет



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

Задача: Начинается ли хотя бы одно слово на букву "М"
Код
#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(); 
}

Как мне переделать код что бы вместо етого задания:Начинается ли хотя бы одно слово на букву "М" сделать что бы фамилия выводилась столбцом...?


Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 28.10.2010, 20:51
PM MAIL   Вверх
Bugmaker
Дата 29.10.2010, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Например так.
Код

#include <iostream>
#include <string>

int main()
{
const int n = 256;
char m[n];
char s[n];
std::cin.getline(m, n);
int count = 0;
int x = 0;
for(int i = 0; i < n; i++)
{
if(m[i] == 'a')
count++; 
if(m[i] == ' ')
x=1; 
if (x!=1)

std::cout<<m[i]<<"\n";;

} 
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(); 
}



Это сообщение отредактировал(а) Bugmaker - 29.10.2010, 08:38
PM MAIL   Вверх
JЕT
Дата 30.10.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 30.9.2010

Репутация: нет
Всего: нет



Цитата

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


Можно вот так:

Код

//-----------------------------------------------------------------------------------
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
//-----------------------------------------------------------------------------------
#include <string>
using std::string;
//-----------------------------------------------------------------------------------
int main( int argc, char *argv[] )
{
    string fio = "";
    unsigned int count = 0;
    string::size_type position = 0;

    getline( cin, fio );

    while( ( position = fio.find( "a", position ) ) != string::npos ) {
        count++;
        position++;
    }

    cout << "Number of occurrences of the letter \"a\": " << count << endl;
    cout << "Length is: " << fio.length() << endl;

    return 0;
}
//-----------------------------------------------------------------------------------


Разумеется, длина будет считаться с пробелами, для избежания этого можно создать ф-ю и передавать ей fio по значению, после удалить все пробелы и посчитать длину. 

Это сообщение отредактировал(а) JЕT - 30.10.2010, 16:39
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.