Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 19:39   #1
zevs116
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 21
По умолчанию Работа со строками. Pascal

ребят, не так силен в программировании, поэтому есть некоторые неувязочки

Дан текст в виде строк. На каждой строке - ФИО.
нужно распечатать отдельно текст с Именем и фамилией в одной строке и отдельно колонку с отчествами, расположенными по алфавиту.

План такой у меня:
1) находим положения второго пробела, т.е. после имени.
2) загоняем отчество в новый массив
3) удаляем отчество
4) сортируем по алфавиту отчество
5) выводим фамилию имя и отдельно отчество

выглядит это так:
PHP код:
 program con;
const 
n=10;
var
psum,l3:integer;
str2,otch:string;
procedure rtp(psum:integer;str1,str2:string); // нахождение места 2 пробела
var
p,l1,l2,l3:integer;
rstr2:string;
begin
 l1
:=1; {//probel }
 
l2:=Length(str2);{//FIO }
 
l3:=l2;
 
rstr2:=copy(str2,1,l2);    // резервируем строку
 
psum:=;
 while 
l2>l1 do
 
begin
 p
:=pos(str1,rstr2); //находим первое совпадение
 
if p<l1 then break;
 
Delete(rstr2,1,p); //удаляем все до первого пробела
 
l2:=length(rstr2); //заново вычисляем длину строки
 
psum:=psum+p;    // находим 2-е совпадение
 
end;
   
writeln(psum);
end;


procedure OTC(psum,l3:integer;str2:string);       // заносим Отч. в нов массив и удал его из строки
var
Otch:string;
begin
otch
:=copy(str2,psum,l3-psum);
Delete(str2,psum,l3-psum);
write(psum);
end;


Function print(
str2:string):string;        //вывод Фамилии и имени
 
begin
writeln
(str2);
 
end;
Function 
printOtch(str2,Otch:string):string;        //вывод отчества
 
begin
writeln
(str2);
end;

begin
        rtp
(0,' ','Иванов Иван Иваныч');
        
OTC(psum,l3,str2);
        print(
str2);
        
printOtch(str2,Otch);
end
ток у меня функции между собой не связаны, значения переменных из одной в другую не переходят, поэтому в итоге получаю ноль. с помощью процедур хочу связать, не получается. и еще - это все реализовано для единичной строчки, для целого текста надо как-то это все в цикл вогнать, помогите!)

Последний раз редактировалось zevs116; 19.11.2010 в 19:41.
zevs116 вне форума Ответить с цитированием
Старый 19.11.2010, 20:54   #2
zevs116
Пользователь
 
Регистрация: 27.09.2010
Сообщений: 21
По умолчанию

ну, неужели никто не шарит?)
zevs116 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками (Pascal) SmileGirl Помощь студентам 4 22.10.2010 01:17
Работа со строками (pascal) Marlin Помощь студентам 7 03.06.2010 14:11
Работа со строками (pascal) ДиM@ Помощь студентам 3 18.04.2010 09:39
Работа со строками (Pascal) RoMaNyIL Помощь студентам 2 21.05.2009 20:39
Работа со строками. Turbo Pascal JayDe Помощь студентам 14 25.03.2009 20:20