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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
UME
 Аватар для UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68
#1

ERROR with float - C++

07.02.2014, 19:01. Просмотров 195. Ответов 6
Метки нет (Все метки)

Здравствуйте.. задача про нахождение общего сопротивления для параллельного и последовательного соединений(здесь все на кыргызском), но дело не в этом, а в том что тут какая то ошибка с 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
6112 / 5715 / 1849
Регистрация: 18.12.2011
Сообщений: 14,600
Завершенные тесты: 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
16613 / 6554 / 408
Регистрация: 12.06.2012
Сообщений: 19,637
Завершенные тесты: 1
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 C2106 или error C2440 C++
Error C2061: syntax error : identifier 'h' C++
C++ Error C2664: 'sprintf' : cannot convert parameter 2 from 'float' to 'const char *'
C++ Error C2143: syntax error : missing ';' before '.'
Ошибки fatal error U1052 и error MSB3073 C++

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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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