Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 13
1

Неправильно работает цикл

10.04.2016, 01:08. Показов 840. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Эта программка должна брать по символу/числу из Edit1 отнимать 200 *200-66(B)=134*и затем отнимать от результата последовательно кол.во букв/чисел в нашем имени и выводить в Edit2. Пример: для ника Black должно выйти 133-90-100-97-88; берем B переводим в число 66 потом 200 -66 -1 =133, ,берем l в число 112 потом 200-112-2... и так далее . Но мой цыкл выводит правильно только первую букву остальные не правильные из за того что декремент все время 1 для каждой буквы и не увеличивается и все каждая буква идет по верх другой ...
Миниатюры
Неправильно работает цикл  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2016, 01:08
Ответы с готовыми решениями:

Неправильно работает цикл FOR ?!
В представленном ниже коде цикл FOR - НЕ останавливается при достижении значения - 1, тем самым...

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

Now работает неправильно
if RadioButton3.Checked = true then begin t1:=now; ShowMessage('int = '+FloatToStr(t1)); ...

Неправильно работает ..класс....
Нужно было создать класс "домашняя библиотека" Чтобы осуществлялось: поиск книги в биб-ке,...

8
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 13
10.04.2016, 01:15  [ТС] 2
упс l-108
0
пофигист широкого профиля
4755 / 3190 / 861
Регистрация: 15.07.2013
Сообщений: 18,471
10.04.2016, 01:34 3
"Цыкл" по определению не может работать, ибо "цыклов" не существует. Существуют циклы. А чтобы помогли справится с циклами, надо приводить код не в виде картинки.
1
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 13
10.04.2016, 01:54  [ТС] 4
Быстро писал не заметил... ошибку . вот так подходит ?
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var
i,R,k:Integer;
s:string;
begin
k:=200;
R:=0;
if edit1.GetTextLen>0 then
Begin
s:='';
for i := 0 to Edit1.GetTextLen do
R:=Ord(edit1.Text[i]);
R:=k-R;
dec(R);
 
Edit2.Text:=IntToStr(R);
 
 
End else showMessage('BBB');
 
 
 
end;
 
end.
0
пофигист широкого профиля
4755 / 3190 / 861
Регистрация: 15.07.2013
Сообщений: 18,471
10.04.2016, 02:08 5
Цитата Сообщение от Black412 Посмотреть сообщение
вот так подходит ?
Мне? Мне сей код нафиг не нужен.
Ты бы лучше сформулировал свою задачу так, чтобы любому была она понятна.
1
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
10.04.2016, 10:32 6
1. Индексация эл-тов строки начинается с единицы.
2. У твоего цикла нет операторных скобок.
3. И где ты отнимаешь "от результата последовательно кол.во букв/чисел"?
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 13
10.04.2016, 12:57  [ТС] 7
Вот тут подправил немного.( все ровно не то).Цикл записывает правильно значения букв но одно поверх другого опять ...
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var
i,R,k:Integer;
s:string;
begin
k:=200;
R:=0;
if edit1.GetTextLen >0 then
Begin
s:='';
for i := 1 to Edit1.GetTextLen do
 
begin
R:=Ord(Edit1.Text[i]);
R:=k-R;
R:=R-i;
s:=IntToStr(R);
Edit2.Text:=s;
end;
 
 
 
End else showMessage('BBB');
 
 
 
end;
 
end.
0
500 / 356 / 231
Регистрация: 29.03.2015
Сообщений: 675
10.04.2016, 13:24 8
Код:
Delphi
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
unit MainU;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
s:='';
for i:=1 to edit1.GetTextLen do
s:=s+inttostr(200-ord(edit1.text[i])-i)+'-';
s[length(s)]:=';';
edit2.Text:=s;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1Click(Sender);
end;
 
end.
Прилагаю проект на Delphi.
Изображения
 
Вложения
Тип файла: zip Encode4.zip (200.0 Кб, 1 просмотров)
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 13
10.04.2016, 13:52  [ТС] 9
Огромное спасибо !
0
10.04.2016, 13:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2016, 13:52
Помогаю со студенческими работами здесь

Неправильно работает функция
Не могу понять почему в результате работы функции Seach всегда получается 0( Помогите разобратся...

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

Программа работает неправильно
При вводе правильных данных все нормально. Но при вводе неправильных после вывода сообщения об...

Неправильно работает StringGrid1
Суть проблемы такова что мы вводим кол-во вкладываемых средств от 3, и далее нажимаем кнопку...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru