Ввести ФИО как одно данное строкового типа. Вывести имя и количество букв в фамилии!
мисс_граффити
18.02.2007 18:58
В каком порядке расположены? Что может быть разделителем? "Ева Мария Тереза Петровна Иванова" - это корректные входные данные? (имя - Ева Мария Тереза)
MAD-GTX
18.02.2007 19:22
Порядок расположения: Владимир Владимирович Путин (в качестве примера) Фамалия->Имя->Отчество Разделитеь: обычный пробел
мисс_граффити
18.02.2007 19:36
1. Копируешь часть строки до первого пробела - это имя.
writeln(copy(fio,1,pos(' ',fio)-1));
2. можно удалить из исходной строки имя вместе с пробелом, а потом посчитать с помощью length количество символов от пробела до конца. можно идти от конца строки и считать символы по одному, пока не встретится пробел.
MAD-GTX
18.02.2007 20:06
Respect, но выводится фамилия,не подскажешь как вывести ИМЕННО ИМЯ,а то парюсь никак не выходит! Ответьте,PLZ!
мисс_граффити
18.02.2007 20:10
ты посмотри, что написал:
Цитата
Порядок расположения: Владимир Владимирович Путин (в качестве примера)
Вот если введешь так - будет тебе имя.
MAD-GTX
18.02.2007 20:15
Ой,приношу свои глубочайшие извинения за свою невнимательность!!!!! Я хотел написать Путин Владимир Владимирович. Что делать в таком случае?
мисс_граффити
18.02.2007 20:36
Можно тогда, например, так: удаляем фамилию вместе с пробелом (предварительно сообщив ее длину), а потом с именем - так, как я предложила. разумеется, если можно нарушать исходную строку.
volvo
18.02.2007 20:37
Ну, в принципе, можно также одной строкой сделать:
Убийственно! Круто! Работает! Огромный респект вам за помощь! Препод завтра офигеет Ну а как быть с фамилией? Вывести количество букв в фамилии! (Вы уж извините,очень плохо разбираюсь в языках программирования).
мисс_граффити
18.02.2007 21:06
определить положение первого пробела можешь?
MAD-GTX
18.02.2007 21:17
В общем никак не могу въехать,хоть убейте!
Добавлено через 11 мин. Я сделал так,т.е. ввел новую переменную,скопировал фамилию,определил её длину но не думаю что это целесообразно и рационально! Нельзя ли по другому?
Program name; uses crt; Var s:string; i:byte; d:string; x:byte; Begin textbackground(4); clrscr; textbackground(4); textcolor(15); writeln('vvedite fio');Readln(s); d:=(copy(s,1,pos(' ',s)-1)); x:=length(d); writeln (x); end.
.
мисс_граффити
18.02.2007 21:31
ты мое сообщение проигнорировал? на вопрос не отвечаешь?
MAD-GTX
18.02.2007 21:43
Ну первый пробел идет после Фамилии.
мисс_граффити
18.02.2007 21:56
значит, перед первым пробелом ровно столько символов, сколько в фамилии, правда? вот и определяй его положение с помощью pos
MAD-GTX
18.02.2007 22:18
А!!!! Понял,вроде! Написал вот так:
i:=((pos(' ',s))-1);
. По ходу дела работает,щас буду писать комментарии в программе! Юлия и Владимир, вам ООООООООООчень большой респект!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.