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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2014, 12:55   #21
TemaLapushka
Новичок
Джуниор
 
Регистрация: 18.03.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
В гугл.

Потому что если запятых нет - будет -1. Если есть - позиция запятой.
почему именно "-1" а не "-3.141592653589793238..."
TemaLapushka вне форума Ответить с цитированием
Старый 19.03.2014, 12:56   #22
TemaLapushka
Новичок
Джуниор
 
Регистрация: 18.03.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
В гугл.

Потому что если запятых нет - будет -1. Если есть - позиция запятой.
зачем в эдит вписывать var Key: Char?
"procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);"
TemaLapushka вне форума Ответить с цитированием
Старый 19.03.2014, 12:58   #23
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
зачем в эдит вписывать var Key: Char?
А я и не вписывал, это Делфи сам создает.
puporev вне форума Ответить с цитированием
Старый 19.03.2014, 13:04   #24
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
var
  Form1: TForm1;
  s:array of char; //динамический массив символов
  n:integer;//его длина
implementation

{$R *.dfm}
//заполнение массива
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
inc(n);//при вводе каждого символаувеличивается счетчик
setlength(s,n); //выделяем память под новый символв массиве
s[n-1]:=key;//записываем введенный символ в массив(на 1 мньше сем длина)
end;
//поиск первой запятой
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;
begin
Edit2.Clear;
i:=0;//первый символ
k:=-1;//присваиваем к значение меньше 0
while(i<n)and(k=-1)do//пока не конец и не изменилось значение к
if s[i]=',' then k:=i //если запятая, запомним индекс
else inc(i);  //иначе дальше
if k=-1 then Edit2.Text:='Нет запятых'//если не изменился, нет запятых
else Edit2.Text:='Первая запятая имеет номер '+inttostr(k+1); //иначе номер(на 1 больше чем индекс)
n:=0;//обнуляем массив, можно снова вводить другой
end;
puporev вне форума Ответить с цитированием
Старый 19.03.2014, 13:09   #25
TemaLapushka
Новичок
Джуниор
 
Регистрация: 18.03.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
Код:
var
  Form1: TForm1;
  s:array of char; //динамический массив символов
  n:integer;//его длина
implementation

{$R *.dfm}
//заполнение массива
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
inc(n);//при вводе каждого символаувеличивается счетчик
setlength(s,n); //выделяем память под новый символв массиве
s[n-1]:=key;//записываем введенный символ в массив(на 1 мньше сем длина)
end;
//поиск первой запятой
procedure TForm1.Button1Click(Sender: TObject);
var i,k:integer;
begin
Edit2.Clear;
i:=0;//первый символ
k:=-1;//присваиваем к значение меньше 0
while(i<n)and(k=-1)do//пока не конец и не изменилось значение к
if s[i]=',' then k:=i //если запятая, запомним индекс
else inc(i);  //иначе дальше
if k=-1 then Edit2.Text:='Нет запятых'//если не изменился, нет запятых
else Edit2.Text:='Первая запятая имеет номер '+inttostr(k+1); //иначе номер(на 1 больше чем индекс)
n:=0;//обнуляем массив, можно снова вводить другой
end;
выводит при включении программы - Edit2.Clear;
"[Error] Unit1.pas(39): Undeclared identifier: 'Edit2'"

"s[n-1]:=key;//записываем введенный символ в массив(на 1 мньше сем длина)"
зачем это?

"while(i<n)and(k=-1)do//пока не конец и не изменилось значение к
if s[i]=',' then k:=i //если запятая, запомним индекс"
и это?

числа это я так понимаю,номер символов в массиве,
так а зачем мы их сравниваем с заданным числом,оно всяко будет меньше номера первого символа
TemaLapushka вне форума Ответить с цитированием
Старый 19.03.2014, 13:12   #26
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

А ап стену не пробовал?
puporev вне форума Ответить с цитированием
Старый 19.03.2014, 13:17   #27
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
почему именно "-1" а не "-3.141592653589793238..."
Да хоть -100500. Не суть важно. Просто часть модулей при ошибке возвращает -1, соответственно по образу и подобию.
Цитата:
зачем это?
Для заполнения массива
Цитата:
и это?
Для выполнения задания

Тёма, ты выклевываешь мозг. Перечитай еще раз матчасть, только вдумчиво. А потом уже задавай вопросы, на которые я могу ответить что-то толковое, а не "Что курил чувак, ТАКИЕ вопросы задающий?". Ага?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 19.03.2014, 13:25   #28
TemaLapushka
Новичок
Джуниор
 
Регистрация: 18.03.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Да хоть -100500. Не суть важно. Просто часть модулей при ошибке возвращает -1, соответственно по образу и подобию.

Для заполнения массива

Для выполнения задания

Тёма, ты выклевываешь мозг. Перечитай еще раз матчасть, только вдумчиво. А потом уже задавай вопросы, на которые я могу ответить что-то толковое, а не "Что курил чувак, ТАКИЕ вопросы задающий?". Ага?
я читал
и не один раз)
про эти массивы прочитал очень много статей
и одномерные и двухмерные
и как вводить
и выводить
и как искать определенный элемент массива
и минимальное(максимальное),с ними калдовал
и про сортировку читал

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

и я не задаюсь вопросом "Что курил чувак, ТАКИЕ вопросы задающий?",я интересуюсь
Вы лучше меня знаете как это "работает",яже в этом дуб дубом

Последний раз редактировалось TemaLapushka; 19.03.2014 в 13:32.
TemaLapushka вне форума Ответить с цитированием
Старый 19.03.2014, 13:35   #29
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Да ладно? Вот например ошибка
Цитата:
"[Error] Unit1.pas(39): Undeclared identifier: 'Edit2'"
о чем тебе говорит? Ответил для себя? А теперь читай правильный ответ (выдели курсором) ниже:
Вообще первоначально эта программа рассчитана под GUI, т.е. программирование оконного интерфейса при помощи перетаскивания элементов. В данном случае на форму вытащено 2 TEdit и 1 TButton.
А ошибка говорит о том, что у тебя нет объекта с именем Edit2. Скорее всего, ты пытаешься собрать программу для консоли, что не подходит для данного кода.

Едем дальше. У тебя задача: найти позицию запятой в массиве. Что ты делаешь своим кодом - я не знаю, но он тупо не решает задачу. Вообще. Совсем. Тебе привели другой вариант.

В общем смотри еще матчасть по "графическому программированию" в Delphi. Конкретно: формы и элементы на форме.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 19.03.2014, 13:41   #30
TemaLapushka
Новичок
Джуниор
 
Регистрация: 18.03.2014
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Да ладно? Вот например ошибка

о чем тебе говорит? Ответил для себя? А теперь читай правильный ответ (выдели курсором) ниже:
Вообще первоначально эта программа рассчитана под GUI, т.е. программирование оконного интерфейса при помощи перетаскивания элементов. В данном случае на форму вытащено 2 TEdit и 1 TButton.
А ошибка говорит о том, что у тебя нет объекта с именем Edit2. Скорее всего, ты пытаешься собрать программу для консоли, что не подходит для данного кода.

Едем дальше. У тебя задача: найти позицию запятой в массиве. Что ты делаешь своим кодом - я не знаю, но он тупо не решает задачу. Вообще. Совсем. Тебе привели другой вариант.

В общем смотри еще матчасть по "графическому программированию" в Delphi. Конкретно: формы и элементы на форме.
эммм....у меня 2 эдита....только они обозначенны ''edt1'',''edt2''
меняя в самой программе на ''edt2'' вылезает та же ошибка

Последний раз редактировалось TemaLapushka; 19.03.2014 в 13:43.
TemaLapushka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запятая вместо точки в InputQuery Alkatras Общие вопросы Delphi 11 25.12.2014 11:33
запятая в строке Олег112 Помощь студентам 1 08.11.2012 22:52
Точка или запятая?! SWAT92Shtorm Общие вопросы Delphi 6 09.06.2011 11:22
Точкой и запятая! budda999 Microsoft Office Excel 6 18.08.2010 15:05
точка и запятая Владимир1988 Помощь студентам 2 10.11.2009 17:01