Статистика
Всего в нашей базе более 4 327 664 вопросов и 6 445 979 ответов!

Ребятушки помогите родные!!!

10-11 класс

Дан символьный файл f.Группы символов,разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри себя,будем называть словами.Удалить из файла все однобуквенные слова и лишние пробелы.Результат записать в файл g.

AlexFOREpic 01 нояб. 2016 г., 9:26:08 (7 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Innulik0811
01 нояб. 2016 г., 11:06:30 (7 лет назад)

program gt;
var f,g:text;
s,b:string;
l,i:integer;
begin
assign(f,'c:\input.txt');reset(f);
assign(g,'c:\output.txt');rewrite(g);
while not eof(f)do
begin
readln(f,s);
l:=length(s);
b:='';
if (s[2]<>' ') then b:=s[1];
i:=1;
while i<l-1 do
begin
i:=i+1;
if (s[i-1]=' ') and (s[i]<>' ') and (s[i+1]=' ') then i:=i+1 else b:=b+s[i];
end;
if (s[l-1]<>' ') then b:=b+s[l];
writeln(g,b);
end;
close(f);
close(g);
end.

+ 0 -
Guilbert
01 нояб. 2016 г., 13:15:26 (7 лет назад)

function PosBlank(s: string; cursor: integer): integer;
{Возвращает позицию первого пробельного символа в строке s,
 начиная с позиции, указанной cursor. Если такого символа нет,
 возвращает 0.}
var
  n: integer;
begin
  n := Length(s);
  while (s[cursor] <> ' ') and (cursor < n) do cursor := cursor + 1;
  if cursor = n then
    if s[cursor] = ' ' then PosBlank := n else PosBlank := 0
  else
    PosBlank := cursor
end;

function PosNonBlank(s: string; cursor: integer): integer;
{Возвращает позицию первого непробельного символа в строке s,
 начиная с позиции, указанной cursor. Если такого символа нет,
 возвращает 0.}
var
  n: integer;
begin
  n := Length(s);
  while (s[cursor] = ' ') and (cursor < n) do cursor := cursor + 1;
  if cursor = n then
    if s[cursor] = ' ' then PosNonBlank := 0 else PosNonBlank := n
  else
    PosNonBlank := cursor
end;

procedure GetWord(s: string; var cursor: integer; var wd: string);
{Процедура помещает в wd очередное слово из строки s
 Начало слова указано в cursor, после завершения процедуры
 cursor будет указывать на первый пробельный символ,
 следующий за найденным словом. Лидирующие и хвостовые
 пробельные символы усекаются. Если слово не найдено, то
 в wd помещается пустая строка}
var
  n, ibegin: integer;
begin
  n := length(s);
  if n>0 then
    begin
    cursor := PosNonBlank(s, cursor);
    if cursor > 0 then
    begin
      ibegin := cursor;
      cursor := PosBlank(s, cursor);
      if cursor > 0 then wd := Copy(s, ibegin, cursor - ibegin)
      else wd := Copy(s, ibegin, n - ibegin + 1)
    end
    else
      wd := ''
    end
  else
    begin
    wd:='';
    cursor:=0
    end
end;

var
  c, cc, w: string;
  ic: integer;
  fin, fout: Text;

begin
  Assign(fin, 'input.txt');
  Reset(fin);
  Assign(fout, 'output.txt');
  Rewrite(fout);
  while not Eof(fin) do
  begin
    ic := 1;
    cc := '';
    readln(fin, c);
    while ic > 0 do
    begin
      GetWord(c, ic, w);
      if w <> '' then cc := cc + ' ' + w
    end;
    cc := Copy(cc, 2, length(cc) - 1);
    writeln(fout, cc)
  end;
  Close(fin);
  Close(fout);
end.

+ 0 -
Лапочкиs
01 нояб. 2016 г., 15:04:16 (7 лет назад)

там задаётся все символы в одной строке или в общем файле?

+ 0 -
Тёмик2014
01 нояб. 2016 г., 17:49:56 (7 лет назад)

Комментарий удален

+ 0 -
Ermsasha
01 нояб. 2016 г., 18:52:56 (7 лет назад)

Комментарий удален

+ 0 -
Superdakota22
01 нояб. 2016 г., 19:45:43 (7 лет назад)

такой подойтёт?

+ 0 -
Anastasiyans3
01 нояб. 2016 г., 21:12:09 (7 лет назад)

чучуть не паскаль))))

Ответить

Другие вопросы из категории

Задача 1 В одномерном массиве , состоящем из n вещественных элементов , вычислить ; 1) номер минимального элемента ; 2) сумму

элементов массива ;

Преобразовать массив таким образом , чтобы сначала располагались все элементы , модуль которых не превышает 1 , а потом - все остальные .

Задача 2

В одномерном массиве , состоящем из n вещественных элементов , вычислить ;

!) минимальный по модулю элемент массива ;

2) сумму модулей элементов массива , расположенных после первого элемента , равного нулю .

Преобразовать массив таким образом , чтобы в первой его половине располагались элементы в четных позивиях , а во второй половине - элементы , стоявшие в нечетных позициях.

Скласти програму (Pascal ABC)на знаходження мінімального числа в двохвимірном масиві.

Приблизно написав але помилка..:
Program pr4;
uses crt;
const n=2;
var B:array[1..n] of integer;min,i,j:integer;
begin;
for i:=1 to n do
for j:=1 to n do
begin;
write('B[i]=');
read ('B[i,j]);
end;
for i:=2 to n do
for j:=2 to n do
if B[i,j]<min then min:=B[i,j];
write('Найменший елемент масиву min=',min);
end.

Читайте также

Ребятушки,помогите,пожалуйста,очень прошу:*

Текст переводится из КОИ-8 в юникод.Объём этого текста,полученного уже в юникоде,равен 32 бит.Найти N.

Ребятушки помогите срочно! Таблица в екселе...

Банк выдал ссуду 200 тыс. руб. на четыре года по 18% годовых. Определить размер ссуды, погашаемой ежегодно.

Ребятушки помогите пожалуйста по програмированию)) в паскале

Написать программу, выполняющую поиск максимальных элементов в каждой строке заданной матрицы.

Ребятушки помогите пожалуйста по програмированию))0

Написать программу, выполняющую поиск максимальных элементов в каждой строке заданной матрицы.



Вы находитесь на странице вопроса "Ребятушки помогите родные!!!", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.