Форум программистов, компьютерный форум CyberForum.ru

Все правильно вроде сделал, программа работает, но не выдает нужный результат! - Lazarus

Восстановить пароль Регистрация
 
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
24.12.2016, 23:14     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #1
Задание Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова.
ВОт код первую часть не выдает слова!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm9.Button1Click(Sender: TObject);
var
s,z,c:string;
k:integer;
begin
s:=Edit1.Text;
k:=length(s);
If k mod 2 = 1 then
z:=copy(s,1, k div 2);
c:=copy(s,k div 2 + 1,k);
Label5.caption:=z;
Label6.caption:=c;
end;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2016, 23:14     Все правильно вроде сделал, программа работает, но не выдает нужный результат!
Посмотрите здесь:

Application.Handle выдает identifier idents no member "Handle", на Дельфи всё работает Lazarus
Lazarus Программа вроде как работает только не решает
Вроде всё правильно написал,но серавно ошибка Lazarus
Lazarus Рекурсивно вычислить сумму цифр натурального числа. Правильно ли все?
Почему программа не хочет считать? Ошибок не выдает Lazarus
Программа, переведенная с Паскаля, неправильно считает результат Lazarus
Lazarus Почему программа на Lazarus работает быстрее, чем на C++Builder?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
northener
2816 / 2028 / 410
Регистрация: 15.07.2013
Сообщений: 11,712
25.12.2016, 01:10     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #2
Цитата Сообщение от Stydent2 Посмотреть сообщение
ВОт код первую часть не выдает слова!
Не верю! Первую часть код выдает правильно.
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
25.12.2016, 07:30  [ТС]     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #3
Я тоже не пойму, прикреплю скрин сейчас!
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
25.12.2016, 07:34  [ТС]     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #4
northener,
Миниатюры
Все правильно вроде сделал, программа работает, но не выдает нужный результат!  
Hretgir
173 / 70 / 1
Регистрация: 25.01.2012
Сообщений: 2,507
Записей в блоге: 17
25.12.2016, 13:16     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #5
а не проще чем мудрить, от длины слова отнять 1 и потом делить на два, и всем было-бы понятно. а так-даже читать не охота. хочется выглядеть уменее других? ну пожалуйста, только зачем тогда спрашивать вопросы у дураков? мне не понятно .

Добавлено через 32 минуты
Не то чтобы принципиально, но так-то вообще задание из задачки надо читать самому или тупо скопипастить? Мне так понятно, что задание студент не читал, либо захотелось блеснуть знаниями на ровном месте.
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
25.12.2016, 13:29  [ТС]     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #6
Hretgir, Благодарю за замечание, но по-вашему методу у меня ошибку выдает
Error: Incompatible types: got "Double" expected "LongInt"
Hretgir
173 / 70 / 1
Регистрация: 25.01.2012
Сообщений: 2,507
Записей в блоге: 17
25.12.2016, 13:36     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #7
так всё равно наверное лучше написать тот код что более проще, хоть он и с ошибкой, чем тот который сложнее и тоже с ошибкою?
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
25.12.2016, 13:42  [ТС]     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #8
Hretgir, Какая разница, как написан код просто или сложно, ошибка то остается и задача не решенна.
volvo
Супер-модератор
 Аватар для volvo
22080 / 14385 / 4044
Регистрация: 22.10.2011
Сообщений: 25,452
Записей в блоге: 2
25.12.2016, 13:47     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #9
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses LazUTF8;
 
// ...
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  k: integer;
begin
  s := Edit1.Text;
  k := UTF8Length(s);
  if k mod 2 = 1 then
  begin
    Label5.Caption := UTF8LeftStr(s, k div 2);
    Label6.Caption := UTF8RightStr(s, k div 2);
  end;
end;
Это тебе не Дельфи, тут для работы с нелатинскими символами нужно использовать UTF8(...) функции.
Stydent2
1 / 1 / 0
Регистрация: 12.11.2016
Сообщений: 20
25.12.2016, 14:16  [ТС]     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #10
volvo, Благодарю)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2016, 03:14     Все правильно вроде сделал, программа работает, но не выдает нужный результат!
Еще ссылки по теме:

Не до конца правильно работает автоинкрементное поле Lazarus
Lazarus Pascal ABC работает, а Lazarus выдает ошибку
Lazarus Почему конструкция try finally end все равно выдает сообщение об ошибке?
Lazarus Свойство ExtendedSelect компонента TListBox на Xubuntu 14.10 вроде не работает

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

Или воспользуйтесь поиском по форуму:
Hretgir
173 / 70 / 1
Регистрация: 25.01.2012
Сообщений: 2,507
Записей в блоге: 17
26.12.2016, 03:14     Все правильно вроде сделал, программа работает, но не выдает нужный результат! #11
Так-о я всегда при ошибке такой проверяю работу программы меняя язык ввода . Тоже было всегда, в последний раз при создании слушателя событий клавиатуры. Так-что не сомневайся - это не в последний раз.
Yandex
Объявления
26.12.2016, 03:14     Все правильно вроде сделал, программа работает, но не выдает нужный результат!
Ответ Создать тему
Опции темы

Текущее время: 08:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru