Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 1

Напечатать по алфавиту определенные слова с дополнительной информацией о каждом из них

22.02.2015, 15:31. Показов 614. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана последовательность от 1 до 20 слов, каждое из которых содержит от 1 до 8 заглавных латинских букв; соседние слова разделены запятой, за последним словом следует точка. Требуется ввести эту последовательность и преобразовать ее во внутреннее представление, а затем напечатать по алфавиту определенные слова с дополнительной информацией о каждом из них.
Внутреннее представление последовательности слов: Список слов, упорядоченных по алфавиту.
Какие слова и в каком порядке печатать: Все различные слова, входящие в последовательность более одного раза.
Замечание: в каждой группе слова печатать по алфавиту.
Дополнительная информация о слове: Число вхождений слова в последовательность.
ТРЕБОВАНИЯ К ПРОГРАММЕ Описать в программе следующие процедуры: • вставка нового слова в упорядоченный список (в дерево); • просмотр списка (дерева) и печать нужных слов.
Помогите, пожалуйста, никак не пойму, что не так. Программа зацикливается.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
program sem2task1;
type
  list = ^chain;
  chain = record
    elem: string;
    next: list;
    end;
var
  fin,fout:text;
  j:integer;
  check:set of string;
  tempstring:string;
  spisok:list;
  tempchar:char;
procedure pasteintolist(var L:list; el:string);
var q,p:list;
begin
  if L=nil then begin
    new(L);
    L^.elem:=el;
    L^.next:=nil;
  end else
    if L^.next=nil then begin
      new(L^.next);
      L^.next^.elem:=el;
      L^.next^.next:=L;
    end else begin
      while not((el <= L^.next^.elem) and (el >= L^.elem)) do L:=L^.next;
      p:=L^.next;
      new(L^.next);
      L^.next^.elem:=el;
      L^.next^.next:=p;
    end;
end;
procedure searchandprint(L:list);
var i:integer; P,q:list; min:string;
begin
  min:=L^.elem;
  q:=L^.next;
  while L<>q do begin
    if q^.elem<min then begin min:=q^.elem; p:=q; end;
    q:=q^.next;
  end;
  check:=[min];
  L:=p;
  q:=L;
  p:=L^.next;
  i:=i+1;
  while p<>L do begin
    if p^.elem in check then i:=i+1 else begin
      if i>1 then write(fout,q^.elem,' ',i);
      i:=1;
      check:=check+[p^.elem];
    end;
  end;
end;
begin
  assign(fin,'input.txt');
  assign(fout,'output.txt');
  reset(fin);
  rewrite(fout);
  read(fin,tempchar);
  spisok:=nil;
  while tempchar<>'.' do begin
    while (tempchar<>',')and(tempchar<>'.') do begin
      tempstring:=tempstring+tempchar;
      read(fin,tempchar);
    end;
    read(fin,tempchar);
    pasteintolist(spisok,tempstring);
    tempstring:='';
  end;
  searchandprint(spisok);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2015, 15:31
Ответы с готовыми решениями:

Напечатать слова по алфавиту, указав для каждого из них число его вхождений в последовательность
Дана непустая последовательность слов, в каждом из которых от 1 до 12 строчных латинских букв; между словами - пробел, за последним ...

Напечатать те слова, которые отличны от последнего слова и буквы слова упорядочены по алфавиту
Друзья, помогите решить такую задача: &quot;Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего...

Напечатать все слова, отличающиеся от последнего слова, в которых буквы упорядочены по алфавиту
Помогите пожалуйста с программой на С++, сама уже не справляюсь. Само задание: Слова текста из малых латинских букв записаны не...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2015, 15:31
Помогаю со студенческими работами здесь

Напечатать те слова, которые отличны от последнего и симметричны / буквы слова расположены по алфавиту
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не...

Напечатать слова, перед которыми в последовательности находятся только меньшие (по алфавиту) слова
Дана последовательность содержащая от 0 до 10 слов, в каждом из которых от 1 до 35 строчных латинских; между соседними словами – запятая,...

Напечатать те слова, перед которыми в последовательности находятся только меньшие (по алфавиту) слова
Задача, решение в Дельфи используя функции/процедуры. В оооочень короткие сроки(сижу на экзамене) Дана строка, содержащая от 1 до 30...

Напечатать те слова последовательности, которые отличны от первого слова, и их буквы не упорядочены по алфавиту
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не...

Напечатать те слова текста, которые отличны от последнего слова и в которых буквы упорядочены по алфавиту
Дан текст, состоящий из латинских букв. Между соседними словами – не менее одного пробела; за последним словом – точка. Напечатать те слова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru