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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.06.2010, 20:11   #1
Figushkin
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 31
По умолчанию Коментарии к программе

Код:
uses crt;
var
   fil:text;
   txt:array[1..1000] of string;
   s,st:string;
   i,k,j,n,maxlen:integer;

begin
clrscr;
assign(fil,'in.txt');
reset(fil);
n:=0;

while not eof(fil) do
 begin
 n:=n+1;
 readln(fil,txt[n]);
 end;
maxlen:=0;

for i:=1 to n do
 begin
  txt[i]:=txt[i]+' ';
  j:=1;
  s:='';
  repeat
  if txt[i][j]<>' ' then
  s:=s+txt[i][j]
  else

   if s<>'' then
             begin
              if length(s)>maxlen then
               begin
                st:=s;
                maxlen:=length(s);
               end;
              s:='';
             end;
  j:=j+1;
  until j>length(txt[i]);
 end;
k:=0;

for i:=1 to n do
 begin
  j:=1;
  s:='';
  repeat
  if txt[i][j]<>' ' then
  s:=s+txt[i][j]
  else
   if s<>'' then
             begin
             if s=st then
             k:=k+1;
             s:='';
             end;
  j:=j+1;
  until length(txt[i])<j;
 end;

writeln(st,' встречается ',k,' раз');
close(fil);
readln;
end.
помогите с коментариями
Figushkin вне форума
Старый 22.06.2010, 21:22   #2
AlexXXX12389
 
Регистрация: 24.04.2009
Сообщений: 4
Восклицание

Код:
uses crt;
var
   fil:text;
   txt:array[1..1000] of string;
   s,st:string;
   i,k,j,n,maxlen:integer;  //объявление переменных

begin
clrscr;                        //очистка экрана
assign(fil,'in.txt');         //привязываем файл in.txt к переменной fil
reset(fil);                    //открываем файл для чтения
n:=0;                         //обнуляем переменную-счётчик строк в файле

while not eof(fil) do      //пока не достигнут конец файла
 begin
 n:=n+1;                    //накручиваем счётчик
 readln(fil,txt[n]);        //считываем текущую строку файла строковый массив
 end;
maxlen:=0;                 //обнуляем переменную, которая вычисляет максимальную длину строки

for i:=1 to n do           //идём по массиву строк
 begin
  txt[i]:=txt[i]+' ';        //добавляем в конец каждой строки пробел
  j:=1;                       //"обнуляем" позицию курсора в строке
  s:='';                       //зачищаем переменную
  
repeat                     
  if txt[i][j]<>' ' then               //если текущий символ в строке не пробел, то
  s:=s+txt[i][j]                       //записываем этот символ в переменную s
  else                                    //иначе проверяем

   if s<>'' then                                 //если переменная s не пуста, то 
             begin
              if length(s)>maxlen then     //если длина строки s больше максимальной длины, то
               begin
                st:=s;                          //сохраняем строку s в переменной st
                maxlen:=length(s);         //обновляем значение максимальной длины
               end;
              s:='';                             //очищаем строку
             end;
  j:=j+1;                                       //наращиваем позицию курсора в строке
  until j>length(txt[i]);   //повторяем действия, описанные после repeat до тех пор, пока курсор не окажется в конце строки  
 end;
k:=0;

for i:=1 to n do                    //опять идём по массиву от начала до конца
 begin
  j:=1;                                //ставим позиция курсора на первый символ в строке
  s:='';                                //очищаем строку

  repeat
  if txt[i][j]<>' ' then             //если текущий символ не пробел, то
  s:=s+txt[i][j]                     //записываем этот символ в строку
  else                                 //иначе
   if s<>'' then                      //если строка не пуста, то
             begin
             if s=st then            //если эта строка равна строке с максимальной длиной, то
             k:=k+1;                 //наращиваем счётчик
             s:='';                     //очищаем строку
             end;
  j:=j+1;                              //наращиваем позицию курсора в строке
  until length(txt[i])<j;        //повторяем действия, описанные после repeat до тех пор, пока курсор не окажется в конце строки 
 end;

writeln(st,' встречается ',k,' раз');    //выводим на экран строку с максимальной длиной и сколько раз она встречалась в файле
close(fil);                                      //закрываем файл
readln;
end.
вот так вот!
AlexXXX12389 вне форума
Старый 23.06.2010, 00:14   #3
Figushkin
Пользователь
 
Регистрация: 20.05.2010
Сообщений: 31
По умолчанию

Большое спасибо!
Figushkin вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
коментарии parovoz121 Помощь студентам 0 18.06.2010 13:44
коментарии shelest Помощь студентам 1 31.05.2010 18:33
Коментарии к программе savra Помощь студентам 4 13.01.2010 01:32
Ассемблер. Факториал числа. Коментарии к программе Irwin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 03.05.2007 13:52