Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103

Поиск максимумов

04.12.2009, 04:22. Показов 1003. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!!! У меня вопрос. У меня есть прога, которая сохраняет в текстовый
фаил типа
F= 2.256 K= 45
F= 2.568 K= 96
F= 2.865 K= 65
F= 3.014 K= 38
F= 3.345 K= 89
F= 3.654 K= 56
Так вот мне нужно с помощью проги найти значения 89 и 96,т.е. максимумы и чтобы выдалось
мне соответствующие им значения F. Вот как-то так
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2009, 04:22
Ответы с готовыми решениями:

Поиск двух максимумов
В массиве записана информация о стоимости 30 видов товара. Определить стоимость двух самых дорогих видов товара. Вот мой код: var a:...

Массив. Поиск локальный максимумов
Посодействуйте пожалуйста в написании программы на Pascal. Задание: В массиве A(n) найти и напечатать номера (индексы) локальных...

Поиск n максимумов в матрице (снова)
Необходимо завести пустой временный массив. В цикле идти по элементам матрицы. Если очередной элемент больше, чем самый маленький из...

6
говнокодер
 Аватар для sh4d°_°ff
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
04.12.2009, 12:08
ну вам необходимо, во первых, вытащить все значения F и K из файла (лично я чаще всего использую ini для подобных целей - с ними, ИМО, как-то удобнее всего работать) и загрузить их в соответствующие массивы (один я так понимаю int, другой float). Потом выявить максимальное значение (тут непонятно у вас написано максимумЫ, и в примере необходимо 2 наибольших значения определить - как это понимать? т.е. надо именно 2 наибольших, или мб.. там какие-то критерии)

вот функция, которая позволяет выбрать наибольшее значение из массива целых чисел Data[5]:

C++
1
2
3
4
5
6
int Max;
Max=Data[0];
for(int i=1; i<5; i++)
{
if (Data[i]>Max) Max=Data[i];
}
в данном примере массив из пяти элементов, но это легко можно изменить... ну вышеприведенный код нетрудно подогнать под свои "нужды"... если есть вопросы пишите.
0
235 / 60 / 3
Регистрация: 04.12.2009
Сообщений: 633
04.12.2009, 12:09
Delphi тебе в помощь!!! там это делается за 5 минут!

ну или сишник)) но на делфе понятнее)
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
07.12.2009, 04:35  [ТС]
sh4d°_°ff, да мне необходимо выделить именно 2 наибольших значения. Если бы 1, то я даже бы и не мучалась)))
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
07.12.2009, 09:23
без проблем. немного дополняем код и готово:
C++
1
2
3
4
5
6
int Max, prevMax;
Max=Data[0];
for(int i=1; i<5; i++)
{
if (Data[i]>Max) {prevMax=Max;Max=Data[i];}
}
2
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
07.12.2009, 10:10  [ТС]
так в том-то и дело, что я не знаю этих значений, мне необходимо чтобы прога сама их выявляла
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
07.12.2009, 15:06
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//
//Режем строку на куски
//К примеру в качестве сепараторов можно задать сразу набор
// ",. (){}?!\n\r", Тогда функция вернет список строк между этими символами
TStringList*SplitToWords(char*str, int Length, String delimetrs)
{
char*tempstr=new char[Length+1];
strcpy(tempstr,str);
int delimetrsCount=delimetrs.Length();
for(int j=0;j<delimetrsCount;j++)
  {
  char del=delimetrs[j+1];
  for(int i=0;i<Length;i++)
    {
    if(tempstr[i]==del)
      {
      tempstr[i]=0;
      }
    }
  }
TStringList*Result=new TStringList();
for(int i=0;i<Length;i++)
  {
  if(tempstr[i]!=0)
    {
    Result->Add(tempstr+i);
    for(;i<Length;i++)
      {
      if(tempstr[i]==0)break;
      }
    }
  }
delete [] tempstr;
return Result;
}
 
TStringList*SplitToWords(char*str, int Length, String delimetrs)
{
char*tempstr=new char[Length+1];
strcpy(tempstr,str);
int delimetrsCount=delimetrs.Length();
for(int j=0;j<delimetrsCount;j++)
  {
  char del=delimetrs[j+1];
  for(int i=0;i<Length;i++)
    {
    if(tempstr[i]==del)
      {
      tempstr[i]=0;
      }
    }
  }
TStringList*Result=new TStringList();
for(int i=0;i<Length;i++)
  {
  if(tempstr[i]!=0)
    {
    Result->Add(tempstr+i);
    for(;i<Length;i++)
      {
      if(tempstr[i]==0)break;
      }
    }
  }
delete [] tempstr;
return Result;
}
//-------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StringGrid1->RowCount=Memo1->Lines->Count+1;
StringGrid1->Cells[0][0]="F";
StringGrid1->Cells[1][0]="K";
 
for(int i=0;i<Memo1->Lines->Count;i++)
  {
  String line=Memo1->Lines->Strings[i].UpperCase();
  TStringList*parts=SplitToWords(line.c_str(),line.Length()," ");//Режем по пробелам. Нужно, чтобы соблюдался данный формат(F=ПРОБЕЛх.хххПРОБЕЛК=ПРОБЕЛхх), если пробелы могут быть, 
//а могут и не быть, то тогда уж нужно немного иначе делать. Например, просто выдирать числа из строки и 
//помещать их в список...
  //Теперь у нас по 1 и 3 индексам будут необходимые значения
  StringGrid1->Cells[0][i+1]=parts->Strings[1];
  StringGrid1->Cells[1][i+1]=parts->Strings[3];
  delete parts;
  }
}
Я полученные числа просто по загонял в табличку. Думаю, что делать дальше разберешься.
Миниатюры
Поиск максимумов  
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2009, 15:06
Помогаю со студенческими работами здесь

Поиск и сравнение максимумов. Bash
Здравствуйте. Появился следующий вопрос. Допустим, есть файл log.txt, вида Pack date: elapsed time = 0.3 S, for anything Pack...

Поиск максимумов функции методом дихотомии
помогите плз за4етное задание поиск максимумов функции(какойнибудь простенькой на ваш выбор) методом дихотомии

Поиск локальных максимумов двухмерного массива
Дан двухмерный массив 20x20 целочисленных элементов. Найдите все локальные максимумы. (Элемент является локальным максимумом, если он...

Поиск первых двух максимумов в массиве
Нужно найти первые два максимума что я не так делаю? #include &lt;iostream&gt; using namespace std; const int n = 10; int main() ...

Ошибка в коде, поиск минимума из максимумов
Или подскажите в чем я ошибаюсь... Суть задачи: 1) задаем размерность матрицы, 2)задаем элементы матрицы, 3) выводим эту матрицу 4) и в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru