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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 09:51   #1
allter
 
Регистрация: 10.06.2010
Сообщений: 3
По умолчанию ааааа...экзамен

идет экзамен, пом с задачей...задана строка литературных героев. Они перечислены через запятую. Например чебураш.в, семь гномов, буратинойлсатог шапочка. Получите 2 текстовых файла. В первый нужно записать имена героев, спрос состоят из одного слова. Во втором все остальные.
allter вне форума Ответить с цитированием
Старый 15.06.2010, 09:56   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тему надо задавать правильно!
Кроме того, язык программирования то какой?!

алгоритм простейший.
Выделяете из строки всё, что до запятой, а потом полученную строчку проверяете на наличие знаков, разделителей (как минимум, в вашем случае это точка и пробел). Если разделитель есть - значит в строке больше одного слова, нет - имя состоит из одного слова.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.06.2010, 10:04   #3
allter
 
Регистрация: 10.06.2010
Сообщений: 3
По умолчанию ...

сорри, торопился...эт на делфи, сам в этом мало что понимаю, если не заструднит, напишите...
allter вне форума Ответить с цитированием
Старый 15.06.2010, 10:27   #4
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Код:
var str, str1:string;
    file1,file2:textfile;
    n,m:integer;

begin
Assignfile(file1,"file1.txt");
Assignfile(file2,file2.txt");
Rewrite(file1);
Rewrite(file2);
writeln("vvedite stroku");
readln(str);
while(length(str)>0) do
  begin
  n:=pos(',',str);
  if (n=0) then str1:=str else str1:=copy(str,1,n);
  m:=pos(' ',str1);
  if (m=0) then Writeln(file1,str1)
           else writeln(file2,str1);
  delete(str,1,n);
  end;
Closefile(file1);
Closefile(file2);
end.
то на паскале, т.е. в консольном режиме А в делфи вместо выделенных readln,writeln будет что-то типа str:=Form1.Edit1.Text или Form1.Memo1.Text, как больше нравится. И программа будет написана в обработчике какого-то события (например, щелчка по кнопке)
Snejnaya вне форума Ответить с цитированием
Старый 15.06.2010, 10:33   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот.
кинуть на форму Tedit и TButton
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s, sOne : string;
  f1, f2 : TextFile;
begin
  AssignFile(f1, 'MultiW.txt');
  Rewrite(f1);
  AssignFile(f2, 'WordOne.txt');
  Rewrite(f2);
  s := Trim(Edit1.Text) + ',' ;
  while Pos(',',s)>0 do begin
     sOne := Trim(Copy(s, 1, Pos(',',s)-1));
     Delete(s, 1, Pos(',',s));
     if sOne<>'' then begin
       if (Pos(' ',sOne)>0) or (Pos('.',sOne)>0)then
         {многословное имя}
         WriteLn(f1, sOne)
       else
         WriteLn(f2, sOne);
     end;    
  end;
  CloseFile(f1);
  CloseFile(f2);
  ShowMessage('Готово!');
end;
строка берётся из Edit1



p.s. to Snejnaya, за Вами, за молодыми не угонишься..

Последний раз редактировалось Serge_Bliznykov; 15.06.2010 в 10:36.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экзамен BrosJke Помощь студентам 1 25.05.2010 07:48
Экзамен Roxy Фриланс 8 30.06.2009 22:19
Экзамен!! VASHUK Помощь студентам 2 16.06.2009 09:54
ЭКЗАМЕН Александр ЕЛуНИН Паскаль, Turbo Pascal, PascalABC.NET 3 15.05.2009 14:06