Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1

рекурсивный подъем и...

01.04.2010, 23:25. Показов 2933. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте, дана строка(последовательность слов), в 3-м слове удалить все вхождения последней буквы строки, с использованием рекурсивного спуска, подъема, и без рекурсии(с использованием цикла).
Я разбил строку на слова и записал каждое слово в массив, для подальшей работы только с 3-м элементом массива. Рекурсивный спуск работает, подъем - просто выводит 3-е слово без изменений, а процедура без рекурсии работает не совсем правильно - если последняя буква 3-го слова отлична от последней буквы последнего слова, то подпрограмма исполняется корректно, если же нет то происходит зацикливание. Помогите с подьмом и зацикливание плиз

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Program LAB3;
uses crt;
const n=5; {количество слов в файле}
type mas=array[1..n] of string[25];
var file1:text;
    str:string;
    box:mas;
    w:integer;
 
Procedure READING(var f1:text;var a:mas);
var s:string;
    i,k,j:integer;
Begin
  assign(f1,'3.txt');
  reset(f1);
  readln(f1,s);
  writeln(s);
  writeln;
  i:=1; j:=1;
  repeat
    k:=1;
    while ((i<=length(s)) and (s[i]<>',') and (s[i+1]<>' ')) do
      begin
        inc(i);  inc(k);
      end;
    a[j]:=copy(s,i-(k-1),k-1);
    inc(i);  inc(j);
  until i>length(s);
End;
 
Function GLUBINA(q:mas):integer;
var i,j:integer;
Begin
  i:=0;
  for j:=1 to length(q[3]) do
    if (q[3,j]=q[n,length(q[n])]) then i:=i+1;
    GLUBINA:=i;
End;
 
Procedure SPUSK(c:mas; p:integer);
var i:integer;
Begin
  if p>GLUBINA(c) then
    begin
      if c[3,p]=c[n,length(c[n])] then
        begin
          delete(c[3],pos(c[n,length(c[n])],c[3]),1);
          writeln(c[3]);
        end;
      SPUSK(c,p-1);
    end;
End;
 
Procedure UP(e:mas; t:integer);
var i:integer;
Begin
  if t>0 then
  begin
    UP(e,t-1);
    if e[3,t]=e[n,length(e[n])] then
      begin
        delete(e[3],pos(e[n,length(e[n])],e[3]),1);
        writeln(e[3],t);
      end;
  end;
End;
 
Procedure USUAL(b:mas;k:integer);
var i:integer;
Begin
  i:=1;
  while i<k do
  begin
    if b[3,i]=b[n,length(b[n])] then
      begin
        delete(b[3],i,1);
        writeln(b[3]);
      end
    else inc(i);
  end;
End;
 
BEGIN
  clrscr;
  textcolor(WHITE);
  READING(file1,box);
  readkey;
  window(5,2,25,25);
  textcolor(10);
  writeln('Рекуксивный спуск:');
  SPUSK(box,length(box[3]));
  writeln;
  readkey;
  window(26,2,50,25);
  textcolor(14);
  writeln('Рекуксивный подъём:');
  UP(box,length(box[3])-1);
  readkey;
  window(51,2,80,25);
  textcolor(5);
  writeln('Без рекурсии:');
  w:=length(box[3]);
  USUAL(box,w);
  readkey;
END.
Добавлено через 1 час 35 минут
помогите пожалуйста очень нада
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.04.2010, 23:25
Ответы с готовыми решениями:

Рекурсивный и не рекурсивный метод написания кода
Объясните пожалуйста, чем отличаются два таких метода. Желательно с примерами.

Подъём ТИЦ И PR
Подскажите пожалуйста почему нет у моего сайта israelhome.ru подъёма ТИЦ и PR!? разместил кучу ссылок на сайт и добавил сайт в тысячи...

прекратился подъём в топ
После покупок беков сайт поднялся до 17 места. Сейчас два дня движений нет. Беки покупал 10 дней назад. Что делать? Ещё накупить или...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2010, 23:25
Помогаю со студенческими работами здесь

Подъём WDS сети
Граждане, столкнулся с такой проблемой при настройке WDS на двух роутерах ASUS DSL-N66U и ASUS DSL-N55U. Подробнее на скрине... На...

Подъем игрока по лестнице
Принимаю все, от простых словесных наставлений, до кодов с комментариями (если код то пожалуйста с коментами, что бы мог наверняка...

Подъём груза из шахты
Из шахты глубиной h = 112 м поднимают груз, закрепленный на конце стального (ρ = 7,80×103 кг/м3) троса, изготовленного из N = 18...

Подъем игрока на другой уровень тайлов
Доброго времени! Изучаю изометрию на юнити и столкнулся с проблемой как сделать подъем на другой уровень тайлов (например игрок...

сколько стоит подъём сайта в google.com .es .co.uk
сколько стоит подъём сайта в google.com .es .co.uk в топ5 и его поддержка тематика недвижимость на Tenerife какие сроки? сайт...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
MVC фреймворк в PHP
Jason-Webb 19.04.2025
Архитектурный паттерн Model-View-Controller (MVC) – это не просто модный термин из мира веб-разработки. Для PHP-программистов это фундаментальный подход к организации кода, который радикально меняет. . .
Dictionary Comprehensions в Python
py-thonny 19.04.2025
Python славится своей выразительностью и лаконичностью, что позволяет писать чистый и понятный код. Среди множества синтаксических конструкций языка особое место занимают словарные включения. . .
Шаблоны и протоколы для создания устойчивых микросервисов
ArchitectMsa 19.04.2025
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru