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

Строковые типы данных(ошибка в программе)

25.06.2009, 06:26. Просмотров 730. Ответов 4
Метки нет (Все метки)

Здравствуйте,вот программка осуществляющая нахождение минимального ничетного числа,меньше длинного целого,но в ней есть ошибка,программка правильно работает для чисел не содержащих в себе нули,а должна работать и для тех и для других.Помогите пожалуйста исправить ошибку(Delphi).Заранее огромное спасибо:
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
procedure TForm1.Button1Click(Sender: TObject);
 var
 n:string;
 Last: byte;
 NNulls: integer;
 i: integer;
 indexLastNull: integer;
begin
 NNulls := 0;
 n := Edit1.Text;
 for i := Length(n) downto 1 do
  if n[i] = '0' then
  begin
   inc(NNulls);
   indexLastNull := i;
  end;
 if NNulls <> 0 then
 begin
  Delete(n, indexLastNull, NNulls);
  Last := StrToInt(n[Length(n)]);
  dec(Last);
  Delete(n, Length(n), 1);
  n := n + IntToStr(Last);
  for i := 0 to NNulls - 1 do
   n := n + '9';
  Edit2.Text := n;
 end
 else
 begin
  Last := StrToInt(n[Length(n)]);
  dec(Last);
  Delete(n, Length(n), 1);
  n := n + IntToStr(Last);
  Edit2.Text := n;
  if n[length(n)] in ['0','2','4','6','8']
  then 
 begin
  Delete(n, indexLastNull, NNulls);
  Last := StrToInt(n[Length(n)]);
  dec(Last);
  Delete(n, Length(n), 1);
  n := n + IntToStr(Last);
  for i := 0 to NNulls - 1 do
   n := n + '9';
  Edit2.Text := n
  end
else StaticText1.Caption:='максимальное нечетное меньшее одц';
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2009, 06:26
Ответы с готовыми решениями:

Строковые типы данных
Здравствуйте, посмотрел все возможные примеры решения подобных задач, но так и не смог приметить...

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

Строковые типы данных
Ввести с клавиатуры строку из 20-ти или меньшего числа символов и найти в строке сумму и количество...

Строковые типы данных
Описать функцию преобразования строки, которая после каждого десятого символа вставит в текст...

4
2921 / 842 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
25.06.2009, 06:32 2
я условие не понял , напиши его пожалуйста с примером и полное как оно тебе было дано
0
0 / 0 / 0
Регистрация: 10.06.2009
Сообщений: 7
25.06.2009, 07:21  [ТС] 3
я уже писала это условие,вот что получилось.Повторюсь:Написать программу, реализующую решение задания по варианту. Найти максимальное нечетное число меньше ОДЦ.ОченьДлиноеЦелое – это целое число с очень большим количеством знаков (>200) так что операции с этим числом не соответствуют ни одному из существующих стандартных числовых типов.
Т.е мы от данного одц отнимаем еденицу,если последний элемент четный,то отнимаем еще раз и получаем максимальное нечетное,меньшее длинного целого,только когда мы берем число содержащее ноль,у меня происходит ошибка,еденица не отнимается,а наоборот прибавляется некоторое другое число
0
2921 / 842 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
25.06.2009, 07:39 4
то есть если тебе дано 2000000000000000000000000000000000
то должно получиться 1999999999999999999999999999999999????

Добавлено через 2 минуты 5 секунд
Цитата Сообщение от Cascada Посмотреть сообщение
я уже писала это условие,вот что получилось.Повторюсь:
к стати первый раз ты писал что надо найти минимальное нечетное число
0
0 / 0 / 0
Регистрация: 10.06.2009
Сообщений: 7
25.06.2009, 08:53  [ТС] 5
то есть если тебе дано 2000000000000000000000000000000000
то должно получиться 1999999999999999999999999999999999????-Да
I am sorry,да я ошиблась с условием максимального,как в программе написано,я просто мучаю эту задачу очень долго и никак не могу закончить:'(

Добавлено через 1 час 1 минуту 44 секунды
Люди помогите пожалуйста,мне сдавать нужно скоро,а тут такое:'(
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2009, 08:53

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

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

Строковые типы данных. Обработка строк
Помогите написать вот такую программу: Системы исчисления. Вводится строка символов. Если...

Исправить ошибки, строковые типы данных
#include &quot;stdafx.h&quot; #include &lt;string.h&gt; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;conio.h&gt;...

Разработка приложений, использующих строковые типы данных
Дан текст. Исключить из него символы, расположенные между скобками ‘(‘, ‘)’. Сами скобки тоже...

Разработка программного кода, содержащего основные типы данных (целые, строковые, булевые и т.п.), в котором предусмотрены списки данных циклом
Доброго времени суток! Никогда не программировал на Haskell... Сейчас ввели дисциплину основы...

Строковые типы данных. В заданой строке удалить все цифры
Задание: в заданой строке удалить все цифры! помогите пожалуйста!


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

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

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