Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Одномерный символьный массив.

Автор: arcan 26.11.2006 21:38

Помогите пожалуйста.Описать символьный массив длиной 80 символов.
Массив просмотреть до точки, если она есть, или до последнего введеного символа. Выдать слово максимальной длины.
Вот у меня есть код программ.

Код

program pr;
var
  maxlen, maxpos, lastsp, curlen, i, n: Integer;
  str: String;
begin
  WriteLn('Vveidite stroku : ');
  ReadLn(str);
  n := Length(str);
  maxlen := 0;
  lastSp := 0;
  curlen := 0;
  for i:=1 to n do begin
    if str[i] = ' ' or str[i] = '.'  then begin
      if curlen > maxlen then begin
        maxlen := curlen;
        maxpos := lastsp + 1;
      end;
      curlen := 0;
      lastsp := i;  
    else
      Inc(curlen);
   end;
   if str[i] = '.' then Break;
  end;
if maxlen > 0 then
    WriteLn('Stroka s max.dlinoj = ', Copy(str, maxpos, maxlen))
  else
    WriteLn('Indjuk, ti vvel pustuju stroku');
  ReadLn;
end.


Поправте его, чтобы было связано с массивами.А то со стрингом, лабу не примет((

Автор: klem4 26.11.2006 21:49

в var вместо str: String; описывай массив str: array [1..80] of char;

ну и заменяй ввод и вывод


readln(n);
for i := 1 to n do readln(str[i]);

Автор: arcan 26.11.2006 22:00

Цитата(klem4 @ 26.11.2006 17:49) *

в var вместо str: String; описывай массив str: array [1..80] of char;

ну и заменяй ввод и вывод


readln(n);
for i := 1 to n do readln(str[i]);


Так я и делал,только не получается.Поэтому и решил обратиться за помощью.

Автор: volvo 26.11.2006 22:04

Ты сначала программу со строками сделай нормально, чтобы она хотя бы компилировалась, а потом будешь исправлять... У тебя же в программе структура полностью нарушена...

Автор: arcan 26.11.2006 23:04

Цитата(volvo @ 26.11.2006 18:04) *

Ты сначала программу со строками сделай нормально, чтобы она хотя бы компилировалась, а потом будешь исправлять... У тебя же в программе структура полностью нарушена...

Не понял.Измени пожалуйста.