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

ERROR with float - C++

Восстановить пароль Регистрация
 
UME
 Аватар для UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68
07.02.2014, 19:01     ERROR with float #1
Здравствуйте.. задача про нахождение общего сопротивления для параллельного и последовательного соединений(здесь все на кыргызском), но дело не в этом, а в том что тут какая то ошибка с float, я никак не пойму... с динамическими массивами знаком поверхностно...

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
#include <iostream>
 
using namespace std;
 
float udaalash(float,int);
 
float jarysh(float,int);
 
main(){
int n;
cout <<"Karshylyktardyn sanyn jaz: ";
cin >> n;
 
float *R;
R = new float [n];
 
cout << "Karshylyktyn maanilerin jaz: \n";
 
for(int i=1;i<=n;i++)
{
    cout<< "R("<<i<<"): ";
    cin >> R[i];
}
 
cout << "Udaalash tutashtyruudagy jalpy karshylyk = "
     << udaalash(R,n) << endl;
cout << "jarysh tutashtyruudagy jalpy karshylyk = "
     << jarysh(R,n) << endl;
 
//delete R[n];
 
return 0;
}
float udaalash(float *R, int n)
{
float R_jalpy = 0;
for(int i=0;i<n;i++)
R_jalpy += R[i];    
 
return R_jalpy;
}
float jarysh(float *R, int n)
{
float R_jalpy = 0, alym, bolum;
for(int i=0;i<n;i++)
   {
    alym *= R[i];
    bolum += alym/R[i];
    R_jalpy += alym/bolum;
   }
return R_jalpy;
}
проблема в этих строках:
C++
1
2
3
4
cout << "Udaalash tutashtyruudagy jalpy karshylyk = "
     << udaalash(R,n) << endl;
cout << "jarysh tutashtyruudagy jalpy karshylyk = "
     << jarysh(R,n) << endl;
и про delete R[n];
я это где то видел и там говорилось что это высвобождает память или тому подобное. Кто знает, поясните
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
07.02.2014, 19:05     ERROR with float #2
ошибка в объявлении должно быть так
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
#include <iostream>
 
using namespace std;
 
float udaalash(float*,int);
float jarysh(float*,int);
 
int main(){
int n;
cout <<"Karshylyktardyn sanyn jaz: ";
cin >> n;
 
float *R;
R = new float [n];
 
cout << "Karshylyktyn maanilerin jaz: \n";
 
for(int i=1;i<=n;i++)
{
    cout<< "R("<<i<<"): ";
    cin >> R[i];
}
 
cout << "Udaalash tutashtyruudagy jalpy karshylyk = "
     << udaalash(R,n) << endl;
cout << "jarysh tutashtyruudagy jalpy karshylyk = "
     << jarysh(R,n) << endl;
 
delete R[n];
 
return 0;
}
float udaalash(float *R, int n)
{
float R_jalpy = 0;
for(int i=0;i<n;i++)
R_jalpy += R[i];    
 
return R_jalpy;
}
float jarysh(float *R, int n)
{
float R_jalpy = 0, alym, bolum;
for(int i=0;i<n;i++)
   {
    alym *= R[i];
    bolum += alym/R[i];
    R_jalpy += alym/bolum;
   }
return R_jalpy;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
07.02.2014, 19:08     ERROR with float #3
Индексы массивов начинаются с нуля и заканчиваются n-1
C++
1
2
3
4
5
for(int i=0;i<n;i++)
{
    cout<< "R("<<i<<"): ";
    cin >> R[i];
}
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
float jarysh(float *R, int n)
{
   float R_jalpy = 0, alym=1., bolum=0;
   for(int i=0;i<n;i++)
   {
       alym *= R[i];
       bolum += alym/R[i];
       R_jalpy += alym/bolum;
   }
   return R_jalpy;
}
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
07.02.2014, 19:09     ERROR with float #4
Цитата Сообщение от zss Посмотреть сообщение
Индексы массивов начинаются с нуля и заканчиваются n-1
А вот это я проглядел вы правы плюс это ко всему
UME
 Аватар для UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68
07.02.2014, 19:23  [ТС]     ERROR with float #5
теперь понял...всем спасибо
но вот delete не работает
и вообще, что он делает?
KOPOJI
Модератор
 Аватар для KOPOJI
16239 / 6450 / 389
Регистрация: 12.06.2012
Сообщений: 19,326
07.02.2014, 19:28     ERROR with float #6
вместо
C++
1
delete R[n];
надо
C++
1
delete [] R;
З.Ы. Заглавными буквами обычно обозначают константы, не надо путать других программистов..
Цитата Сообщение от UME Посмотреть сообщение
и вообще, что он делает?
освобождает память, выделенную с помощью new

Не по теме:

а переменные обычно обозначают информативно. arr - нормальное название для переменной-массива (array). А что такое R ?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 19:36     ERROR with float
Еще ссылки по теме:

Error C2296: %: недопустимо, левый операнд имеет тип "float" C++
C++ Чем отличаются float преобразования (float)var от float(var)
C++ Error LNK1120, error LNK2019, error LNK2028, queue

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

Или воспользуйтесь поиском по форуму:
UME
 Аватар для UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68
07.02.2014, 19:36  [ТС]     ERROR with float #7
Цитата Сообщение от KOPOJI Посмотреть сообщение
Заглавными буквами обычно обозначают константы, не надо путать других программистов..
извиняюсь, я исходил из того что сопротивление обозначается R
Yandex
Объявления
07.02.2014, 19:36     ERROR with float
Ответ Создать тему
Опции темы

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