Строки и указатели........

Ответить
karazmik
Сообщения: 2
Зарегистрирован: 12 дек 2009, 21:11

Помогите написать прогу с помощью которой - вводится имя,фамилия,отчество а вывоится фамилия и инициалы то есть - Пушкин Александр Сергеевич - Пушкин А.С

Visual studio c++ - библиотека stdio
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Что конкретно не получается? Или тебе нужно целиком программу написать?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Перенесено из раздела "С и С++".
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
RUSt
Сообщения: 8
Зарегистрирован: 30 дек 2009, 23:15

Подскажу алгоритм
Если всё вводится в разные поля, то здесь вообще всё легко: берём первую букву и после неё ставим точку
Если же ФИО в одной строке, то чуть посложнее:
читаем фамилию посимвольно (считаем, что пробел - окончание фамилии), затем также имя, остальное считаем отчеством, пользуемся для простоты 3 переменными типа string
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

А можно извратиться
flag=0;
for (i=0; i<length(s); i++)
{
if (!flag) if (s<>' ') printf(s) else flag=1;
if (flag && s==' ') printf(s[i+1]+'.');
}
Как-то так, насчет синтаксиса не уверен
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Dragon
Сообщения: 99
Зарегистрирован: 01 окт 2009, 11:21
Откуда: Odessa
Контактная информация:

Может уже поздно, но в качестве совета (C++).
Я бы взял 3 переменные string: name, l_name, s_name.
А выводил бы как-то так:
cout << l_name << " " << name[0] << ". "
<< s_name[0] << ".\n";

Предварительно проверив, что строки не пустые :)
Ответить