|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
20.11.2010, 20:10 | #11 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Справка среды разработки Delphi в полной мере удовлетворит ваше любопытство На #10 Не вижу повода для улыбок, как бы вам не пришлось при сдаче лабы погрустить. Улыбаться нам нужно, глядя на ваши вопросы.
__________________
Убить всех человеков! |
20.11.2010, 20:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Скорее всего тут можно найти ответ Даны три вещественных числа... Cоздать файл целых чисел Массивы Напишите функцию, преобразующую символы табуляции в последовательность из n пробелов Программа перемножения длинных чисел на С++ |
20.11.2010, 20:20 | #13 (permalink) |
Новичок
Регистрация: 20.11.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Полностью с вами согласен. Тут не до улыбок. Но и унывать я не собераюсь- бывает мучаешься с этой задачей день, два, а то и неделю, но в конце- концов ответ приходит. Уверен вы и сами понимаете.
|
20.11.2010, 20:25 | #14 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Если не поняли - не заморачивайтесь, возможно, вам пока рано это знать. Реализуйте через работу с файлами.
Для начала, определите в разделе переменных файловую переменную F командой F: TextFile; В основном модуле свяжите переменную F с текстовым файлом в корневом каталоге диска C командой AssignFile(F,'имя_файла'); Откройте файл по перезаписи командой rewrite(F); В цикле с постусловием начинайте вводить значения, параллельно записывая их в файл командой writeln(F,имя_переменной); В цикле условием для выхода должно быть выражение имя_переменной=0 Затем, как предлагал выше Vladimir_S, организуйте чтение значений из файла и поиск минимальной разницы. В конце не забудьте закрыть файл командой CloseFile(F); и при необходимости удалить его с диска командой erase(F); или DeleteFile(имя_файла); З.Ы. имя_переменной, естественно, это латинский идентификатор для текущего значения элемента последовательности
__________________
Убить всех человеков! Последний раз редактировалось AlexZir; 21.11.2010 в 10:45 Причина: исправил ошибочные операторы :) |
20.11.2010, 20:50 | #15 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Alex, только, мне помнится, в отличие от Паскаля, в Delphi команды имеют вид AssignFile и CloseFile, остальные, включая Append, такие же, как и в Паскале. Во всяком случае, когда я (сто лет назад) чего-то в Delphi творил, то в моей версии (Delphi 5, если не ошибаюсь), было так.
А еще есть одна идиотская идея - нельзя ли в дельфийской форме в процессе работы программы очищать и повторно заполнять строку при появлении нового значения Min? Это бы решило проблему даже без файла. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.11.2010, 21:26 | #16 (permalink) |
Новичок
Регистрация: 20.11.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Vladimir_S к сожалению формы в Делфи тоже пока не используем. Это вроде у нас как раз следующая тема.
С файлом я тоже ничего не понимаю. Но вот со строками я кое-что набросал, посмотрите пожалуйста: Код:
var i,Nmin:integer; minRaz:real; s,c:string; Raz:real; el:real; begin i:=1; writeln('Vvedite elementi'); readln(el); minRaz:=abs(el-i); str(minRaz:1:0,c); s:=s+c; repeat i:=i+1; readln(el); Raz:=abs(el-i); str(Raz:1:0,c); s:=s+c; if (abs(el-i)<minRaz) and (el<>0) then begin minRaz:=abs(el-i); end; until el=0; str(minRaz:1:0,c); for i:=1 to length(s) do if s[i]=c then writeln('i=',i); writeln('minRaz=',minRaz:3:2); readln; end. |
21.11.2010, 10:28 | #17 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так... Ну кое-что проясняется.
Уважаемый Iron-mik, давайте всё же будем называть вещи своими именами. Судя по Вашему коду, к изучению Delphi вы еще даже и не приступали, а язык, на котором написана программа, называется Паскаль. Так бы и сказали - нужна программа на Паскале, так нет - Delphi! Позже Вы узнаете, что Паскаль входит в Delphi как составная часть, но при этом существенно преобразуется - например, исчезают экранные ввод и вывод, изменяется сама структура программ и т.п. Ну если Паскаль, то уже легче. Подумаю. |
21.11.2010, 10:49 | #18 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
Владимир, не исключено, что нужно консольное приложение, а там листинг во многом совпадает с Pascal-евским.
__________________
Убить всех человеков! |
|
21.11.2010, 14:43 | #19 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот вариант с файлом:
Код:
var f:TEXT; i:integer; el,Raz,minRaz:real; begin Assign(f,'C:\tt_tt'); ReWrite(f); i:=1; writeln('Vvedite elementi:'); Write(i:3,' '); readln(el); minRaz:=abs(el-i); WriteLn(f,i); repeat i:=i+1; Write(i:3,' '); readln(el); Raz:=abs(el-i); if (Raz<minRaz) and (el<>0) then begin minRaz:=Raz; ReWrite(f); WriteLn(f,i); end else if (Raz=minRaz) and (el<>0) then WriteLn(f,i); until el=0; Close(f); ReSet(f); WriteLn; Writeln('Nomera:'); Repeat ReadLn(f,i); Write(i:3,' '); Until EoF(f); Close(f); Erase(f); writeln; writeln('minRaz=',minRaz:3:2); readln; end. |
22.11.2010, 21:52 | #20 (permalink) |
Новичок
Регистрация: 20.11.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Да, всё отлично работает! Попробую сдать... Спосибо вам большое Vladimir, и вам Alex!
Жалею только что раньше не обращался к вам за помощью... |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|