Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение данных, Сравнение данных 
V
    Опции темы
Terikon
Дата 7.4.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



1)Нужно отсеять те данные если в строке присутствует  0 (помечено красным цветом)
2)Нужно сравнить и найти максимально значение (помечено зелёным)
3)Скопировать id максимального значения в стринг (помечено синим) 
Данные берутся из string

Пример
До обработки
id=279
800
2
id=22
900
0
id=79
700
1
id=2279
700
2

После обработки
279 (id максимального значения)

PM MAIL   Вверх
TrЭin3e
Дата 7.4.2009, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.3.2009
Где: Ставрополь

Репутация: нет
Всего: 1



Для начала неплохо было бы узнать: как вводятся данные?
PM MAIL   Вверх
Terikon
Дата 7.4.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



В смысле как вводятся?
PM MAIL   Вверх
Данкинг
Дата 8.4.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Terikon @ 8.4.2009,  00:47)
В смысле как вводятся?

В смысле, в каком формате эти данные находятся изначально. Лично я задание тоже не совсем понял.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Terikon
Дата 8.4.2009, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



формат text, даннае записаны в string
PM MAIL   Вверх
Данкинг
Дата 8.4.2009, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



"String" - это тип данных такой. Тебе строку парсить нужно, что ли?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Bose
Дата 8.4.2009, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Задавча есть, а вопроса, нет. Забавно.
PM MAIL WWW Skype   Вверх
TrЭin3e
Дата 8.4.2009, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.3.2009
Где: Ставрополь

Репутация: нет
Всего: 1



создаешь двумерный массив A[i][2], где i - количество записей в файле/строк.
Если красное число не равно 0, то в A[i][1] записываешь зеленое число, в A[i][2] - синее.
Далее производишь выбор максимального зеленого элемента и соответствующего ему синего. Самый простой способ это сделать:
Код

id_max := 0;
max := 0;
for i := 1 to koli4estvo_strok do
  if A[i][1] > max then
    id_max := A[i][2];

Надеюсь запись из файла в строку и из строки в массив ты сделаешь сам.

Это сообщение отредактировал(а) TrЭin3e - 8.4.2009, 09:19
PM MAIL   Вверх
Terikon
Дата 8.4.2009, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



Если можно на примере с Memo, например в мемо1 введены данные которые надо обработать, и записать результат в мемо2,

Код

var
i:integer;
a:array[1..2] of integer;
id_max,max:integer;
begin
ReWrite(f);
id_max := 0;
max := 0;
for i := 1
if A[i][1] > max then
id_max := A[i][2];
end;
end.

PM MAIL   Вверх
TrЭin3e
Дата 9.4.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.3.2009
Где: Ставрополь

Репутация: нет
Всего: 1



Еще зависит от порядка ввода данных, т.е. что за чем следует.
Возьмем к примеру следующий формат:
"X XXX XXXX"
Тогда:
Код

var S: string;
    proverka, probel, k, id_max, max, koli4estvo_strok: integer;
    A: array [1..100] of integer;
  id_max := 0;
  max := 0;
  for i := 1 to Memo1.Lines.Count do
  begin
    probel := 0;
    k := 0;
    koli4estvo_strok := 0;
    S := Memo1.Lines.ValueFromIndex[i];
    for j := 0 to length(S)-1 do
      if S[j] = ' ' then
      begin
        case k of
          0: begin
                proverka := strtoint( copy(S, probel, j - probel));
                inc(koli4estvo_strok);
              end;
          1: if proverka > 0 then A[koli4estvo_strok][1] := strtoint( copy(S, probel, j-probel))
          2: if proverka > 0 then A[koli4estvo_strok][2] := strtoint( copy(S, probel, j-probel))
        end;
        k := k+1;
        probel := j+1;
      end;
  end;
for i := 1 to koli4estvo_strok do
  if A[i][1] > max then
    id_max := A[i][2];
Memo2.Lines.Add(inttostr(id_max));

Вроде все.

PM MAIL   Вверх
Akella
Дата 9.4.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(Bose @  8.4.2009,  02:33 Найти цитируемый пост)
Задавча есть, а вопроса, нет. Забавно.

щас, погодь, он к препаду сбегает smile 
PM MAIL   Вверх
Terikon
Дата 9.4.2009, 18:19 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



TrЭin3e Благадарю за проделанную работу, но прога компилится не хочет вот здесь ошибка 
var S: string;
    proverka, probel, k, id_max, max, koli4estvo_strok: integer;
    A: array [1..100] of integer;
  id_max := 0;
PM MAIL   Вверх
Terikon
Дата 9.4.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



Всё разобрался, тему можно закрыть всем спасибо



Это сообщение отредактировал(а) Terikon - 9.4.2009, 21:04
PM MAIL   Вверх
TrЭin3e
Дата 9.4.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.3.2009
Где: Ставрополь

Репутация: нет
Всего: 1



Мне было б гораздо приятнее если б ты вместе с благодарностью и "+" еще нажал))
PM MAIL   Вверх
Terikon
Дата 9.4.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 1.4.2009

Репутация: нет
Всего: нет



Да это всегда пожалуйсто, только вот что выдаёт "У Вас недостаточно постов, чтобы изменять репутацию пользователей. Необходимо 100 постов."
PS Подкоплю и добавлю)

Это сообщение отредактировал(а) Terikon - 9.4.2009, 21:09
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.