Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 28
1

Нахождение мин. макс. числа в таблице paradox7

10.11.2010, 17:14. Показов 1092. Ответов 7
Метки нет (Все метки)

Задача стоит такая:

В таблице есть поле, обозначающие цену товара, в котором необходимо найти максимальное и минимальное число(макс. и мин нужно сделать для отдельных кнопок), можете пожалуйста показать хотя-бы примерный код для решения такой задачи ?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2010, 17:14
Ответы с готовыми решениями:

Нахождение макс/мин значения в текстовом файле
var a:array of char; f1,f2:text; j,g;integer; begin assign (f1,'f11.txt'); reset(f1); ...

Нахождение макс. или мин. элемента массива
Известно количество очков, набранных футбольными командами в чемпионате. Какая команда (определить...

Stringgrid нахождение мин и макс элемента в строке и столбце
в общем никак не могу реализовать следующее:юзер вводит номер столбца,в зависимости от нажатой...

Нахождение макс., мин. и чаще встречающееся значение среди букв
Здравствуйте, есть система исчисления A-F. Эти оценки записаны в столбик и нужно найти самую...

7
10 / 8 / 1
Регистрация: 21.09.2010
Сообщений: 35
10.11.2010, 21:19 2
Нахождение минимума примерно как-то так.. код не запускала
по нажатию на кнопку Button1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 //переход к первой строке таблицы
 Table1->First(); 
 //сначала за минимум возьмем 1й элемент 1го столбца
 //Fields->Fields[i] - здесь i - номер нужного столбца, подставите свой
 int min = Table1->Fields->Fields[0]->AsInteger;
 //в цикле сравнивается существующий минимум с каждым из элементов столбца
 for(int i = 1; i < Table1->RecordCount; i++)
    {
     if (Table1->Fields->Fields[0]->AsInteger<min) {min=Table1->Fields->Fields[0]->AsInteger;}
    //переход на следующюю строку 
    Table->Next(); 
    }
}
максиму аналогично..
1
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 28
10.11.2010, 21:59  [ТС] 3
Большое спасибо за ответ

Я немного переделал твой код вышло вот-так:

C++
1
2
3
4
5
6
7
8
9
10
AnsiString ST;
Table1->First();
int min = Table1Price->AsInteger;
for(int min = 1; min < Table1->RecordCount; min++)
{
if (Table1Price->AsInteger<min) {min=Table1Price->AsInteger;}
Table1->Next();
}
ST=FloatToStr(min);
Label2->Caption="Ìèí= "+ST;
Код проверенный, все работает исправно.
0
10 / 8 / 1
Регистрация: 21.09.2010
Сообщений: 35
10.11.2010, 22:26 4
и оно у вас работает?! 0_0

единственное, что там нужно было подправить так это:

1. Table1 заменить на тот компонент, который отображает нужную таблицу
2.
C++
1
int min = Table1->Fields->Fields[0]->AsInteger;
тип переменной min поменять на тот который нужно: int, float..
Fields[0] - это если цена в первом столбце, нужно указать тут номер своего столбца
->AsInteger; или ->AsFloat; в соответствии с типом, который хранится в этом столбце таблицы и типом min
3. дописать вывод результата в Label2, ShowMessage или еще как-нибудь

Цитата Сообщение от FINGERS Посмотреть сообщение
C++
1
2
3
4
5
6
7
int min = Table1Price->AsInteger;
 //min < Table1->RecordCount; - зачем сравнивать мин значение с числом строк? зачем здесь min???
for(int min = 1; min < Table1->RecordCount; min++)
{
// с чем переменную min сравниваете? Table1Price - это что?
if (Table1Price->AsInteger<min) {min=Table1Price->AsInteger;}
}
0
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 28
10.11.2010, 22:40  [ТС] 5
Table1Price'ом я обозначил поле по которому будет искать мин. число, что касается моего "рабочего кода" то тут все очень смешно получилось . . .
программа просто выводила число которое находилось 1-м в столбце таблицы, и оно оказалось минимальным среди всех остальных чисел которые были в столбце . . . вот я подумал что все "пучком".
0
10 / 8 / 1
Регистрация: 21.09.2010
Сообщений: 35
10.11.2010, 22:47 6
Цитата Сообщение от FINGERS Посмотреть сообщение
вот я подумал что все "пучком".
вот вам и "пучком".

C++
1
2
3
4
5
6
7
8
9
10
AnsiString ST;
Table1->First();
int min = Table1Price->AsInteger;
for(int i = 1; i < Table1->RecordCount; i++) // сколько раз перейдем на следующую строку, не нужно здесь min использовать; RecordCount - это число строк таблицы
{
if (Table1Price->AsInteger<min) {min=Table1Price->AsInteger;}
Table1->Next();
}
ST=FloatToStr(min);
Label2->Caption="Мин= "+ST;
вот как-то так наверное
0
0 / 0 / 0
Регистрация: 06.08.2010
Сообщений: 28
10.11.2010, 23:03  [ТС] 7
Надо-бы почаще подобные алгоритмы писать, очень хорошо настроение поднимает

P.S.

Теперь все работает, но !

C++
1
for(int i = 1; i < Table1->RecordCount; i++)
В этой строке вместо единицы , нужно поставить ноль, иначе не будет проверять последнею строку в столбце
0
10 / 8 / 1
Регистрация: 21.09.2010
Сообщений: 35
10.11.2010, 23:14 8
toFINGERS
Цитата Сообщение от FINGERS Посмотреть сообщение
Надо-бы почаще подобные алгоритмы писать, очень хорошо настроение поднимает
главное чтобы такие алгоритмы настроение не портили


Цитата Сообщение от FINGERS Посмотреть сообщение
C++
1
for(int i = 1; i < Table1->RecordCount; i++)
В этой строке вместо единицы , нужно поставить ноль, иначе не будет проверять последнею строку в столбце
ага, "=" пропустила
C++
1
for(int i = 1; i <= Table1->RecordCount; i++)
ну или с нуля
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2010, 23:14

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Мин/макс. из n чисел; простые числа
Написать программу нахождения минимального и максимального из n (n&gt;0) введенных чисел. Вывести...

Даны 4 действительных числа a,b,c,d. Если сумма макс. и мин. равна сумме двух других, то все числа заменить этой суммой,
Даны 4 действительных числа a,b,c,d. Если сумма макс. и мин. равна сумме двух других, то все числа...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.