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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 22:09   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Вопрос исправте ошибки. программа в паскале по теме " Строки"

Дан текст, слова которого отделяются друг от друга пробелами. В тексте вставить пробелы после символов « . » и « ... », если длина самого длинного слова меньше количества слов в тексте. В противном случае текст оставить без изменения.
Распечатать исходный текст, количество букв в максимальном по длине слове, количество слов в тексте и полученный текст.

Код:
program files;
var  c,m,a,s:string;
j,i,h:integer;
start,dlina:integer;
max:integer;
t: boolean;
const
znaki = ['.',',',' ','!','?','-',':',';'];
begin
Write('Введите текст: ');
Readln(s);
i:=1;
h:=1;
start:=0;
a:=s;
j:=0;
m:=s;
max:=0;
while i<=length(a) do
begin
t:=false;
while (a[i]<>' ') and (i<=length(a)) do
begin
t:=true;
i:=i+1;
end;
if t then
j:=j+1;
i:=i+1;
end;
begin
while h<=length(s)+1 do
begin
if (not(s[h] in znaki)) and (h<=length(s)) then
begin
if start=0 then
start:=h;
end
else
begin
if start<>0 then
begin
dlina:= h - start;
if dlina > max then max:=dlina;
start:=0;
end;
end;
h:=h+1;
end;
end;
begin
if max<j then
begin
i := 1;
repeat
c := m[i];
if ((c=',')or(c='...') and (m[i+1]<>' ')) then
m := copy(m,1,i) + ' ' + copy(m,i+1,length(m)-i);
i := i + 1;
until (i >= length(m));
end;
end;
writeln;
writeln;
writeln('Исходный текст: ',s);
writeln('Количество букв в самом длинном слове: ',max);
writeln('количество слов в строке=',j);
writeln('Полученный текст',m);
readln;
end.


Ошибки: не считаются слова в строке; и если длина самого длинного слова меньше количества слов в тексте не ставятся пробелы после символов « . » и « ... ».
Спасибо.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.11.2011 в 00:42.
Anton94.by вне форума Ответить с цитированием
Старый 21.11.2011, 23:26   #2
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Код:
program files;
var
  a, s: string;
  i: Integer;
  strLen, tLen, maxLen, slLen: Integer;

const
  znaki = ['.', ',', ' ', '!', '?', '-', ':', ';'];

begin
  Write('Введите текст: ');
  Readln(s);
  strLen := Length(s);
  a := s;

  tLen := 0;
  maxLen := 0;
  slLen := 0;
  for i := 1 to strLen do
    if s[i] in znaki then
    begin
      // Поиск длинного слова
      if tLen > maxLen then
        maxLen := tLen;

      // Подсчет количества слов
      if tLen > 0 then
        Inc(slLen);

      tLen := 0;
    end
    else
      Inc(tLen);

  i := 1;
  if maxLen < slLen then
    while i <= strLen do
    begin
      if (i + 2 <= strLen) and (Copy(s, i, 3) = '...') then
      begin
        Inc(i, 3);
        Insert(' ', s, i);
      end
      else if s[i] = '.' then
      begin
        Inc(i);
        Insert(' ', s, i);
      end;

      Inc(i);
    end;

  WriteLn('Исходный текст: ', a);
  WriteLn('Количество букв в самом длинном слове: ', maxLen);
  WriteLn('Количество слов в строке: ', slLen);
  WriteLn('Полученный текст: ', s);
  Readln;
end.
kangreon вне форума Ответить с цитированием
Старый 27.11.2011, 23:28   #3
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
По умолчанию

Если можете помогите составить отчёт или объясните, а то мне задали я не знаю как его сделать.
Т Р Е Б О В А Н И Я по оформлению отчетов:

В отчете должны присутствовать все пункты, указанные в разделе «СОДЕРЖАНИЕ» типового задания.

ПОСТАНОВКА ЗАДАЧИ должна содержать четкую формулировку индивидуального задания.

ИЗУЧЕННЫЕ ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ. Здесь приводятся необходимые для выполнения задания сведения из области вычислительной математики и методов программирования и информатики.

АЛГОРИТМЫ. В данном пункте отчета подробно излагаются выполненные аналитические преобразования с необходимыми графическими иллюстрациями и приводится описание разработанных алгоритмов. Применяется один из общепринятых способ описания алгоритмов, предпочтительно – ПСЕВДОКОД.

ПРОГРАММЫ должны содержать ВВОДНЫЕ комментарии (постановка задачи, сведения об авторе, используемые методы), комментарии-ОГЛАВЛЕНИЕ (описание входных и выходных параметров и других используемых в программе объектов), ПОЯСНИТЕЛЬНЫЕ комментарии (назначение отдельных частей программы).

ВВОД и ВЫВОД данных должен быть исчерпывающе прокомментирован. Вывод информации осуществляют в соответствии с ФОРМАТОМ ВЫВОДА, приведенном в задании. В отчете приводится в наиболее информативном виде результаты сравнительного анализа эффективности разработанных и программно реализованных алгоритмом и стандартных методов на основе численных экспериментов (если это требует типовое задание).

ЛИТЕРАТУРНЫЕ ИСТОЧНИКИ оформляются в соответствии с требованиями.

ОТЧЕТ выполняется на листах белой бумаги формата А4.

Последний раз редактировалось Anton94.by; 28.11.2011 в 17:34.
Anton94.by вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсивная программа на Паскале "количество чисел в строке" Voldemort93 Помощь студентам 4 03.04.2011 14:53
FTP клиент ошибки с библиотеками "stdafx.h" "FTP1.h" <afxinet.h> Hichigo Общие вопросы C/C++ 0 04.08.2010 12:11
срочно нужна программа на Paradox Delphi для диплома по теме: "Автоматизация работы кафедры"!!! olgatim Фриланс 7 19.01.2009 06:37
нужна небольшая курсовая по теме "Графика в Паскале". Win't Фриланс 2 18.12.2007 07:53