Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Tascherman
0 / 0 / 0
Регистрация: 18.03.2017
Сообщений: 23
1

Не работает цикл

11.09.2019, 20:07. Просмотров 166. Ответов 1
Метки нет (Все метки)

Тему указал некорректно, не работает код, а не цикл, хотя код находиться в цикле, скорее не работает условие
Задача - создать процедуру(с определенным заголовком), которая принимает на вход строку с любыми символами, а выдает измененную строку, таким образом что заменяет все буквы латинского алфавита в нижнем регистре на следующие по порядку в алфавите
В паскале новичок(понимаю не много, но немного знаю в других языках программирования, так что какие-то термины и не только понять могу, на паскале писал лишь 2 простые программы), но сдать нужно сегодня
Вот мой код, содержащий в основной программе переменную, передающую на вход процедуры тестовую строку(a bc 83xz), выход ожидается - (b cd 83ya), на практике выводится - bccdefgyzz38
Просьба подсказать что не так, и почему она не работает так, как задумано
процедуры и функции разрешенные для использования: Copy, delete,insert, pos, length
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure Zamena(var Stroka: string);
var i,tempn:integer;
var completet,temps:string;
const alphabet:string = 'abcdefghijklmnopqrstuvwxyz';
const numbersl:string = '0123456789';
begin
  completet:='0';
  i:=1;
  repeat
    temps:=Copy(Stroka,i,1);
    if temps='z' then Insert(temps,completet,i) else if temps=' ' then Insert(temps,completet,i) else if Pos(temps,numbersl)<>0 then Insert(temps,completet,i) else tempn:=Pos(temps, alphabet);tempn:=tempn+1;Insert(Copy(alphabet,tempn,1),completet,i);
    i:=i+1;
  until (i = length(Stroka)+1);
Delete(completet,length(completet),1);
writeln(completet);
end;
var inline:string;
begin
  inline:='a bc 83xz';
  Zamena(inline);
end.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2019, 20:07
Ответы с готовыми решениями:

Не работает цикл.
Привет всем. Помогити решить проблему. Написал програму:ї program sS; const sss='C:\Prem1.txt';...

Нк работает цикл
program zadanie25; const n = 4; var a: array of integer; i, j, k:integer; begin for...

Не работает цикл
Задали написать игру Быки и коровы, думаю все правила знают, пишу ту часть где пользователь будет...

Цикл While работает не корректно
Здравствуйте! Пишу программу перевода из 10 системы счисления в 2, но возникла проблема с циклом...

Не работает цикл чтения файла
Вот часть кода: while not eof(FileText) do begin read(FileText,Str); ...

1
JuriiMW
2496 / 1377 / 1744
Регистрация: 10.12.2014
Сообщений: 5,398
12.09.2019, 04:02 2
Какие-то странные манипуляции…

Во-первых, зачем вам столько переменных?
Во-вторых, зачем вырезать, а затем вставлять, когда к элементам строки можно обращаться как к элементам массива?
Ну и в-третьих, после работы программы вы как хотите увидеть результат её работы?

И на закуску: Надеюсь вы обратили внимание, что вашу переменную inline парсер сайта выделил полужирным?
Это потому, что в других компиляторах паскаля имеется служебное слово inline!

Ну и ваша программа могла бы быть такой:

Pascal
1
2
3
4
5
6
7
procedure Замена(var s : String) := s := s.Select(c->c='z'?'a':c.InRange('a','y')?Succ(c):c).JoinIntoString('');
 
begin
  var s := ReadLnString;
  Замена(s);
  s.Println;
end.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2019, 04:02

Объясните как работает цикл For
Совсем не давно начал изучать Паскаль.По своему учебнику дошел до циклов, там есть цикл for,...

Почему цикл работает правильно только первый проход?
Доброго времени суток! Собственно вопрос в теме. Непонятно почему цикл начинает сходить с ума на...

Цикл: как работает цикл в цикле
Не могу понять как работает цикл в цикле например: repeat begin lalalala if что-то1&lt;&gt;100 then...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.