Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 18:43   #1
lider24816
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 17
По умолчанию Что исправить в коде?

Задание.Дана непустая последовательность различных натуральных чисел, за которой следует 0. Получить последовательность, которая отличается от исходной тем, что все нечетные элементы удвоены.

Программа все работает, тока нужно чтобы числа вводились в эдит через звездочку '*', а не сплошным числом . Вот что нужно добавить в код чтобы она так работала?




procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..100] of integer;
mas:array[0..100] of char;
k,i,n,g,c,v:integer;
s:string;
begin
k:=1;
n:=0;
s:=edit1.Text;
g:=Length(s);
g:=g-1;
for i:=0 to g do
a[i]:=strtoint(s[i+1]);
for i:=0 to g do
if a[i] mod 2<>0
then a[i]:=a[i]*2;
s:='';
for i:=0 to g do
s:=s+inttostr(a[i]);
label2.caption:=s
end;

end.
lider24816 вне форума Ответить с цитированием
Старый 26.05.2009, 18:45   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

хм.. по-моему я (или Sazary, один из нас, но кажется все-таки я) уже делал точно такую задачу на форуме. Поиск рулит.
Код:
s:=s+'*'+inttostr(a[i]);
?
Uguu~

Последний раз редактировалось __STDC__; 26.05.2009 в 18:50.
__STDC__ вне форума Ответить с цитированием
Старый 26.05.2009, 18:57   #3
lider24816
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 17
По умолчанию

А куда именно то вставить эту строчку в код?)))
lider24816 вне форума Ответить с цитированием
Старый 26.05.2009, 19:00   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Угадайте с 23 раз
только лучше наверное как-нибудь так
Код:
s:=inttostr(a[0]);
for i:=1 to g do
s:=s+'*'+inttostr(a[i]);
Uguu~

Последний раз редактировалось __STDC__; 26.05.2009 в 19:04.
__STDC__ вне форума Ответить с цитированием
Старый 26.05.2009, 19:09   #5
lider24816
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 17
По умолчанию

Так он в лэйбле выводит через '*', а мне нужно сделать чтобы я вводил числа в эдит через '*', примерно вот так 1*2*3*4*5*6*0. Вот как так сделать?
lider24816 вне форума Ответить с цитированием
Старый 26.05.2009, 19:27   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну например так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..100] of integer;
i,n:integer;
s:string;
begin

n:=0;
s:=edit1.Text;

for i:=1 to length(s)-1 do
  if (s[i] <> '*') then begin
    a[n]:=strtoint(s[i]);
    if (a[n] mod 2)<>0
      then a[n]:=a[n]*2;
    inc(n);
  end;


s:=inttostr(a[0]);
for i:=1 to n-1 do
s:=s+'*'+inttostr(a[i]);
label1.caption:=s
end;
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 26.05.2009, 19:31   #7
lider24816
Пользователь
 
Регистрация: 21.12.2008
Сообщений: 17
По умолчанию

Во, то что надо!!)) Огромное спасибо)))
lider24816 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите что исправить в коде Grisha248 Помощь студентам 5 25.05.2009 03:00
Исправить ошибку в коде VBA. NitriNKa Помощь студентам 2 29.04.2009 22:22
Ошибка в коде Сортировщика! Ргается! помогите исправить! sting Помощь студентам 2 24.11.2008 23:21
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19