Форум программистов, компьютерный форум CyberForum.ru

Динамический вещественный массив - C++

Восстановить пароль Регистрация
 
Лешик
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 17
18.02.2014, 11:29     Динамический вещественный массив #1
Кусок программы. Всё компилится, но почему-то в цикле в g[j] массив записываются целые значения, если НЕ писать два дабла, так и должно быть или я что-то не правильно делаю? Поставил эти два дабла и всё считает, но неужели так всегда надо делать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int maxi,mini,j,q; float s,min,max,sr;
Memo1->Text="";
Memo2->Text="";
Memo3->Text="";
q=Edit1->Text.ToInt();
double *g=new double[q-1];
int *a=new int[q];
 
a[0]=1;
a[1]=1;
j=0;
Memo1->Text=AnsiString(a[0])+" "+AnsiString(a[1]);
        for (int i=2;i<q;i++){
                a[i]=a[i-1]+a[i-2];
                Memo1->Text=Memo1->Text+"  "+AnsiString(a[i]);
                g[j]=double(a[i])/double(a[i-1]);// Вот эта строка
                Memo3->Text=Memo3->Text+"Äëÿ ГЇГ*ðû Г·ГЁГ±el "+a[i-1]+" ГЁ "+a[i]+"= "+FormatFloat("0.00000",
                g[j])+"\r\n";
                j++;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 11:29     Динамический вещественный массив
Посмотрите здесь:

C++ вещественный массив
Задан вещественный массив размера N pelles c C++
C++ Задан вещественный массив из N.
Вещественный массив C++
вещественный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
18.02.2014, 12:15     Динамический вещественный массив #2
Цитата Сообщение от Лешик Посмотреть сообщение
g[j]=double(a[i])/double(a[i-1]);// Вот эта строка
Можно и так:
C++
1
2
 
g[j]=(double)a[i]/(double)a[i-1];
Если этого не делать у тебя целочисленное деление выходит (так как если бы g был бы int*)
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
18.02.2014, 12:16     Динамический вещественный массив #3
Цитата Сообщение от Лешик Посмотреть сообщение
C++
1
g[j]=double(a[i])/double(a[i-1]);
вроде одного достаточно
C++
1
g[j]=((double)a[i])/a[i-1];
Цитата Сообщение от Лешик Посмотреть сообщение
но неужели так всегда надо делать?
да потому что a[] массив целых чисел, и выполняется целочисленное деление
Лешик
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 17
18.02.2014, 12:20  [ТС]     Динамический вещественный массив #4
Спасибо ребят, я просто с++ на днях начал изучать. Просто в Делфях такого не было.
PS: да, один дабл работает.
Yandex
Объявления
18.02.2014, 12:20     Динамический вещественный массив
Ответ Создать тему
Опции темы

Текущее время: 17:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru