Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 845
от 21.06.2007, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 461, Экспертов: 77
В номере:Вопросов: 6, Ответов: 14


Вопрос № 91537: Здравствуйте!Помагите составить программу(Delphi) сравнения по абсолютной величине элемента, расположенного в верхнем правом углу двухмерного массива, с любым другим элементом массива (определить, какая из абсолютных величин больше)...
Вопрос № 91558: Здравствуйте уважаемые эксперты. У меня вот такой вопрос: Мне необходимо записывать какие-то данные в файл (использую fileread и filewrite). Структура данных повторяется (но не полностью). Например: ..какие-то данные..
Вопрос № 91616: Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Вывести на экран все элементы пятой строки массива....
Вопрос № 91617: Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Заменить значения всех элементов второй строки массива на число 5....
Вопрос № 91618: Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Составить программу расчета суммы двух любых элементов третьего столбца массива....
Вопрос № 91619: Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Определить минимальный элемент третьей строки массива...

Вопрос № 91.537
Здравствуйте!Помагите составить программу(Delphi) сравнения по абсолютной величине элемента, расположенного в верхнем правом углу двухмерного массива, с любым другим элементом массива (определить, какая из абсолютных величин больше)
Отправлен: 15.06.2007, 18:31
Вопрос задал: Gold1k (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Louken
Здравствуйте, Gold1k!

Опять программу можно скачать тут http://diploboy.ifolder.ru/2363804.
Все несложно, так что разобраться, думаю труда большого, не составит.
Удачи.
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 15.06.2007, 19:16
Оценка за ответ: 5
Комментарий оценки:
Respect tebe

Отвечает: Градов Юрий Михайлович
Здравствуйте, Gold1k!
Это будет примерно так, как дано в приложении:

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 15.06.2007, 19:30
Оценка за ответ: 5
Комментарий оценки:
Respect tebe


Вопрос № 91.558
Здравствуйте уважаемые эксперты.
У меня вот такой вопрос:
Мне необходимо записывать какие-то данные в файл
(использую fileread и filewrite).
Структура данных повторяется (но не полностью).
Например:
..какие-то данные..
..разделитель...
..какие-то данные..
..разделитель...
..какие-то данные..

Так вот как мне реализовать перемещение между блоками данных (по разделителям). Например я записал очередной блок данных и хочу прочитать предыдущий.
Заранее спасибо.
Отправлен: 15.06.2007, 22:24
Вопрос задал: Богданов Михаил (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Ерёмин А.А.
Здравствуйте, Богданов Михаил!
Лучше воспользоваться типизированным файлом. Сначала создаёте запись, в которую включаете все необходимые данные, например:

type TData = record
Name: String;
Age: Byte;
end;


А затем работа с самим файлом:

var f: file of TData;

В результате работа будет происходить с файлом, элементами которого являются записи. Удобство состоит в том, что между записями легко перемещаться.

Пример отправки данных в файл:

AssignFile(f,'C:1.dat');
Rewrite(f);
Write(f,data1);
CloseFile(f);


Здесь data1 - запись типа TData.

Чтение аналогично - с помощью Read(f,data1);

Ну и наконец самое вкусное - переход. Для перехода по элементам файла служит команда Seek.

Пример: Seek(f,5); - переход к 5-ой записи.

Дополнительно:
FilePos() - текущая позиция в файле;
FileSize() - число элементов в файле.

Всё достаточно просто и изобретать велосипед не нужно.

Удачи!
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин А.А. (статус: Академик)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 16.06.2007, 07:20


Вопрос № 91.616
Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Вывести на экран все элементы пятой строки массива.
Отправлен: 16.06.2007, 12:51
Вопрос задал: Gold1k (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Gh0stik
Здравствуйте, Gold1k!

Вывод строки массива будем осуществлять в объект Memo:

procedure TForm1.Button1Click(Sender: TObject);
const n=10; m=10;
var a:array [1..n,1..m] of integer;
i:integer;
begin
....
{ввод данных}
....
for i:=1 to m do Memo1.Lines.Add(format('%d',[a[5,i]]));
end;


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 16.06.2007, 13:50
Оценка за ответ: 5
Комментарий оценки:
Благодарю!!!

Отвечает: Ерёмин А.А.
Здравствуйте, Gold1k!
См. пример. Ввод и вывод с помощью TStringGrid. Удачи!

Приложение:

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин А.А. (статус: Академик)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 16.06.2007, 14:01
Оценка за ответ: 5
Комментарий оценки:
respect tebe!!!!

Отвечает: Louken
Здравствуйте, Gold1k!

==========================
Ответ перенесен в мини-форум
==========================

-~= Gh0stik =~-
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 16.06.2007, 17:12


Вопрос № 91.617
Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Заменить значения всех элементов второй строки массива на число 5.
Отправлен: 16.06.2007, 12:52
Вопрос задал: Gold1k (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин А.А.
Здравствуйте, Gold1k!
Решение с использованием динамического массива - в приложении и в прикреплённом файле.
P.S. В вопросе №91619 пример был без массива - всё выполнялось "на лету", здесь всё как нужно.

Приложение:

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин А.А. (статус: Академик)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 16.06.2007, 13:54
Оценка за ответ: 5
Комментарий оценки:
Все Огромное спасибо!!!!

Отвечает: Louken
Здравствуйте, Gold1k!

Скачайте программу здесь: http://diploboy.ifolder.ru/2373699
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 16.06.2007, 17:25


Вопрос № 91.618
Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Составить программу расчета суммы двух любых элементов третьего столбца массива.
Отправлен: 16.06.2007, 12:53
Вопрос задал: Gold1k (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Gold1k!
Попробуйте вот это решение, выбираете элементы кликаньем мышки

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 16.06.2007, 14:32
Оценка за ответ: 5
Комментарий оценки:
И здесь тоже все круто!!!!

Отвечает: Gh0stik
Здравствуйте, Gold1k!

Предлагаю Вам такой способ:

procedure TForm1.BitBtn1Click(Sender: TObject);
var i,j,t,s,kol:integer;
d:set of byte;
st:string;
begin
randomize;
for i:=0 to StringGrid1.RowCount-1 do
for j:=0 to StringGrid1.ColCount-1 do
StringGrid1.Cells[i,j]:=IntToStr(random(43)-13); {вносим в матрицу произвольные элементы}
d:=[];
kol:=0; s:=0;
while kol <> 2 do
begin
t:=random(StringGrid1.RowCount);
if not(t in d) then {выбираем ЛЮБЫЕ два элемента из 3-го столбца, но так чтобы они не совпадали}
begin
s:=s+StrToInt(StringGrid1.Cells[2,t]);
inc(kol);
d:=d+[t];
if kol<>2
then st:=st+format('[%d;3]',[t+1])
else st:=st+format('+[%d;3]=%d',[t+1,s]);
end;
end;
Edit1.Text:=st; {выводим результат}
end;


Полный код программы Вы можете найти в прикрепленном файле.

Good Luck!!!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 16.06.2007, 16:13
Оценка за ответ: 5

Отвечает: Louken
Здравствуйте, Gold1k!

Скачайте ответ здесь:
http://diploboy.ifolder.ru/2373409
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 16.06.2007, 17:01
Оценка за ответ: 5


Вопрос № 91.619
Здравствуйте!Помогите написать прогу на (Delphi).Дан двумерный массив. Определить минимальный элемент третьей строки массива
Отправлен: 16.06.2007, 12:56
Вопрос задал: Gold1k (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Ерёмин А.А.
Здравствуйте, Gold1k!
Для ввода (и вывода) двумерных массивов удобно использовать компонент TStringGrid (вкладка Additional). Для поиска минимального элемента следует перебрать все числа и выбрать среди них наименьшее. Код процедур в приложении, а весь проект в прикреплённом файле. Удачи!

Приложение:

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин А.А. (статус: Академик)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 16.06.2007, 13:43
Оценка за ответ: 5
Комментарий оценки:
Respect tebe!!!!

Отвечает: Градов Юрий Михайлович
Здравствуйте, Gold1k!

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

Ответ помещен для обсуждения в ветку форума
"О деятельности экспертов и работе портала/Удаленные ответы для обсуждения".

-~= Gh0stik =~-
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 16.06.2007, 13:58
Оценка за ответ: 5
Комментарий оценки:
Благодарю все прет!!!

Отвечает: Louken
Здравствуйте, Gold1k!

Если Вам понравились мои предыдущие ответы, то предлагаю Вам решение задачи все в том же стиле и оформлении.
Скачать программу можно: http://diploboy.ifolder.ru/2373079

! Пожалуйста, размещайте решения здесь, а не на файлохранилищах, где файлы живут недолго (кроме случаев очень больших файлов, здесь случай явно не тот). [ Alexandre V. Tchamaev ]
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 16.06.2007, 16:35
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное