Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 26.02.2014, 02:16   #1 (permalink)
eugen_96
Новичок
 
Регистрация: 26.02.2014
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Очень важно решение в Делфи

помогите пожалуйста решить задачу
вот условие:
Цитата:
Известны баллы, набранные каждым из 20-ти спортсменов-пятиборцев в каждом из пяти видов спорта. Определить Фамилию спортсмена-победителя соревнований.
eugen_96 вне форума   Ответить с цитированием

Старый 26.02.2014, 02:16
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Моя задача - облегчить вам поиск схожих постов

Очень очень нужна помощь, прямо сейчас
Подскажите, пожалуйста, как узнать IP по странице ВКонтакте? Очень важно!
Важно! Обновление, баги.
Помогите решить задачу, желательно basic, хотя это не важно

Старый 26.02.2014, 05:35   #2 (permalink)
Debianer
Member
 
Регистрация: 07.08.2012
Сообщений: 325
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
По умолчанию

Используем TStringGrid. В него заносим по столбцам Фамилию, баллы за 1 вид, баллы за 2 вид и т.д.
Далее спокойненько пробегаем по гриду до конца:
суммируем баллы первого спортсмена, затем - второго и сравниваем. Если у второго сумма больше, его индекс запоминаем и сравниваем второго с третьим, четвертым и т.д. Если же сумма баллов у первого спортсмена больше, чем у второго - запоминаем индекс (номер строки) первого и сравниваем его с третьим. И так до конца грида.
Debianer вне форума   Ответить с цитированием
Старый 26.02.2014, 13:52   #3 (permalink)
eugen_96
Новичок
 
Регистрация: 26.02.2014
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

можно код в делфи...плиз...
eugen_96 вне форума   Ответить с цитированием
Старый 26.02.2014, 15:28   #4 (permalink)
Debianer
Member
 
Регистрация: 07.08.2012
Сообщений: 325
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
По умолчанию

Можно будет завтра, сейчас у меня уже 21:29. Только опиши условия поподробнее.
Я так понимаю, имеем форму, в которой вводим нужные данные и нажимаем кнопку "Рассчитать" и получаем результат. Так? Или данные берутся из файла, или еще как?
Утром (своим, московия+7) напишу
Debianer вне форума   Ответить с цитированием
Старый 27.02.2014, 00:33   #5 (permalink)
eugen_96
Новичок
 
Регистрация: 26.02.2014
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Debianer Посмотреть сообщение
Можно будет завтра, сейчас у меня уже 21:29. Только опиши условия поподробнее.
Я так понимаю, имеем форму, в которой вводим нужные данные и нажимаем кнопку "Рассчитать" и получаем результат. Так? Или данные берутся из файла, или еще как?
Утром (своим, московия+7) напишу
Данные берутся из файла.....плиз помоги.....
eugen_96 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 27.02.2014, 10:05   #6 (permalink)
Debianer
Member
 
Регистрация: 07.08.2012
Сообщений: 325
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
По умолчанию

Так... Вот решение, написано на Delphi XE5. Текстовый файл (Results.txt) в комплекте. Я в него вписал 6 строчек всего, формат: Фамилия 1_вид 2_вид 3_вид 4_вид 5_вид, разделители - пробелы.
Сначала файл считывается в StringGrid, который на форме (кол-во строк в нем изменяется динамически, т.е. в файле записей может быть и 3 и 100500).
Ну а дальше уже простейший подсчет. Если что-то сделать по-другому, пиши. Исходник с комментариями
Вложения
Тип файла: zip Sports.zip (938.8 Кб, 12 просмотров)
Debianer вне форума   Ответить с цитированием
Старый 27.02.2014, 10:25   #7 (permalink)
Debianer
Member
 
Регистрация: 07.08.2012
Сообщений: 325
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
По умолчанию

Вдогонку: порядковый номер-то я в StringGrid засунул, а вот записывать его - забыл.
Добавь между
begin
if sg.RowCount<Ind+1 then
sg.RowCount:=Ind+1;
sg.Cells[Sum,Ind]:=Copy(s,1,Pos(' ',s)-1);//Данные
Delete(s,1,Pos(' ',s));//Удаляем данные
end;
и
sg.Cells[6,Ind]:=s;
end;
строку
sg.Cells[0,Ind]:=IntToStr(Ind);

Т.е., этот кусок будет так:
begin
if sg.RowCount<Ind+1 then
sg.RowCount:=Ind+1;
sg.Cells[Sum,Ind]:=Copy(s,1,Pos(' ',s)-1);//Данные
Delete(s,1,Pos(' ',s));//Удаляем данные
end;
sg.Cells[0,Ind]:=IntToStr(Ind);
sg.Cells[6,Ind]:=s;
end;
Debianer вне форума   Ответить с цитированием
Старый 27.02.2014, 13:28   #8 (permalink)
eugen_96
Новичок
 
Регистрация: 26.02.2014
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Debianer Посмотреть сообщение
Так... Вот решение, написано на Delphi XE5. Текстовый файл (Results.txt) в комплекте. Я в него вписал 6 строчек всего, формат: Фамилия 1_вид 2_вид 3_вид 4_вид 5_вид, разделители - пробелы.
Сначала файл считывается в StringGrid, который на форме (кол-во строк в нем изменяется динамически, т.е. в файле записей может быть и 3 и 100500).
Ну а дальше уже простейший подсчет. Если что-то сделать по-другому, пиши. Исходник с комментариями
понимаешь, у меня просто версия Делфи 7 и стремно то, что нет формы когда код открываешь.....вот что.....и сокращения не такие как в Делфи 7...и библиотека не такая...но это не страшно....если сокращения переименовать как в 7 Делфи...пррога будет работать?
eugen_96 вне форума   Ответить с цитированием
Старый 27.02.2014, 14:49   #9 (permalink)
Debianer
Member
 
Регистрация: 07.08.2012
Сообщений: 325
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1671
По умолчанию

Будет. В юните убери в секции uses начало System.
Морда формы - открой unit1 в блокноте. Вообще, сделай новый проект, на форму закинь StringGrid, Label, OpenDialog и Button. Расположение возьми с моего скомпилированного файла (Win32\Release). Названия компонентов возьми из юнита. Навскидку: sg - StringGrid, рядов - 2, столбцов - 7, фиксированны первый ряд и столбец. Кнопка и Label - названия по умолчания, по-моему. OpenDialog - oDialog. В смысле, это названия компонентов
Потом тупо скопируй все, что после секции type в Unit своего проекта, и все.
ЗЫ: мою скомпилированную прогу запускал? То, что надо?

ЗЫЫ: сокращения - это про что? Различие только в секции uses; плюс, там в описание .dfm дополнения добавились. Сам код сработает, изменений в языке нет
Debianer вне форума   Ответить с цитированием
Старый 27.02.2014, 14:51   #10 (permalink)
eugen_96
Новичок
 
Регистрация: 26.02.2014
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Debianer Посмотреть сообщение
Будет. В юните убери в секции uses начало System.
Морда формы - открой unit1 в блокноте. Вообще, сделай новый проект, на форму закинь StringGrid, Label, OpenDialog и Button. Расположение возьми с моего скомпилированного файла (Winn32\Release). Названия компонентов возьми из юнита. Навскидку: sg - StringGrid, рядов - 2, столбцов - 7, фиксированны первый ряд и столбец. Кнопка и Label - названия по умолчания, по-моему.
Потом тупо скопируй все, что после секции type в Unit своего проекта, и все.
ЗЫ: мою скомпилированную прогу запускал? То, что надо?
да, работает! Спасибо большое! Выручил!
eugen_96 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:29.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.