Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Указатели 
:(
    Опции темы
spirit0k
Дата 25.3.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ввести в Memo некоторое количество чисел
Создать динамический массив из чисел
Memo,распологающих до первого числа со значением -123.
Найти с помощью функции минимал элемент массива
Вообщем всё впринципе работает только не все числа выводит
например я ввожу несколько чисел допустим 13 17 23 25 -123 29 31 33 37
Выводит 23 25 а заместь 13 и 17 кашу какую то типо 1,74093958091401E-39
Вот код

{ int N=Memo1->Lines->Count;
Memo2->Clear();
int i,k=0;float max;
float a[125]; max=-1000;
for (i=0;i<N;i++)
{ a[i]=StrToFloat(Memo1->Lines->Strings[i]);k++;
if (a[i]==-123)break;
for(i=0;i<k;i++);
{ if(a[i]>max)max=a[i];
Memo2->Lines->Add(FloatToStr(a[i]));}
Edit1->Text=FloatToStr(max);}

Что здесь еще нужно добавить?
подскажите пожалуйста 
PM MAIL   Вверх
Alca
Дата 25.3.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

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



Цитата

Код

for(i=0;i<k;i++);


Убери точку с запятой smile

Добавлено через 1 минуту и 1 секунду
И научись форматить код!!!


--------------------
PM WWW ICQ Skype Jabber   Вверх
spirit0k
Дата 25.3.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Терь 
выскакивает это
13
13
1,74093958091401E-39
13
1,74093958091401E-39
23


так и должно выдавать??
PM MAIL   Вверх
Alca
Дата 25.3.2009, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

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



а что должно быть?

Добавлено через 1 минуту и 42 секунды
Замени
Цитата

Код

    max =  - 1000;


на
Код

    max =  - 1000.0;


Добавлено через 8 минут и 37 секунд
Код

        if (a[i] ==  - 123.0) {


Добавлено через 10 минут и 20 секунд
Код

//---------------------------------------------------------------------------
/*
1. Ввести в Memo некоторое количество чисел
2. Создать динамический массив из чисел Memo, распологающих до первого числа со значением -123.
3. Найти с помощью функции минимал элемент массива

Вообщем всё впринципе работает только не все числа выводит
например я ввожу несколько чисел допустим 13 17 23 25 -123 29 31 33 37
Выводит 23 25 а заместь 13 и 17 кашу какую то типо 1,74093958091401E-39
*/
void __fastcall TfrmMain::Button1Click(TObject *Sender)
{
    Memo2->Clear();
    
    int N = Memo1->Lines->Count;
    int i, k = 0;

    float max =  - 1000.0;
    float a[125] = {0.0};

    for (i = 0; i < N; i ++) {
        a[i] = StrToFloat(Memo1->Lines->Strings[i]);
        k ++;
        if (a[i] ==  - 123.0) {
            break;
        } 
        
        for (i = 0; i < k; i ++)
         {
            if (a[i] > max) {
                max = a[i];
            } 
            
            Memo2->Lines->Add(FloatToStr(a[i]));
        }
        Edit1->Text = FloatToStr(max);
    }
}
//---------------------------------------------------------------------------

Результат:
Код

13
13
0
13
0
23

Так надо или как?

Добавлено через 14 минут и 45 секунд
Если не так, то пересмотри алгоритм (я в него не вникал)


--------------------
PM WWW ICQ Skype Jabber   Вверх
Alca
Дата 25.3.2009, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

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



дел

Это сообщение отредактировал(а) Alca - 25.3.2009, 19:03


--------------------
PM WWW ICQ Skype Jabber   Вверх
spirit0k
Дата 25.3.2009, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



с моим кодом должно было выводить
13 17 а с твоим бог его знает может и правильно так как у тебя

Добавлено через 44 секунды
Вообщем введу твой а там если что спрошу
PM MAIL   Вверх
mrbrooks
Дата 26.3.2009, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



spirit0k, а при чем здесь указатели?  smile 
PM MAIL   Вверх
dumb
Дата 26.3.2009, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Модератор: Название темы не отражает ее суть, или несколько вопросов в одном топе!

Ознакомьтесь с правилами форума!:

http://forum.vingrad.ru/index.php?showtopic=96391
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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