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

Не правильно считает((( - C++

Восстановить пароль Регистрация
 
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 16:10     Не правильно считает((( #1
Запрограммируйте алгоритм возведения числа в целую положительную и отрицательную степень.
Пользователь вводит данные с клавиатуры.




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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
double r;
double B;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
if(k>=0)
    for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
if(k<0)
B=A-A/2;
for( int i = 0; i < k ; i++ )r*=B;
1/B;
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}

За ранние большое спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2011, 16:10     Не правильно считает(((
Посмотрите здесь:

C++ не правильно считает
C++ Не правильно считает
Не правильно считает C++
C++ Cuda не правильно считает
C++ Не правильно считает формулу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.04.2011, 16:13     Не правильно считает((( #2
Что такое
C++
1
B=A-A/2;
?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
 
if(k<0)
  r=1/r;
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
17.04.2011, 16:15     Не правильно считает((( #3
А r кто инициализировать будет?
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 16:20  [ТС]     Не правильно считает((( #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Что такое
C++
1
B=A-A/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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
if(k>=0)
        for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
if(k<0)
{
     for( int i = 0; i < k ; i++ )r*=A;
     1/=B;
}
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}
C++
1
B=A-A/2;
это я перевожу со степени - в +
и потом делю на 1 и оно выходит минусовой
допустим -2 степень
тогда -2-2/2=2

Добавлено через 1 минуту
Цитата Сообщение от kazak Посмотреть сообщение
А r кто инициализировать будет?
как это сделать?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.04.2011, 16:22     Не правильно считает((( #5
Это делается просто:
k=abs(k); // для этого надо подключить файл #include "math.h"
или
k*=-1;

Вот правильная программа:
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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
if(k<0)
    k*=-1;
for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
 
if(k<0)
  r=1/r;
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 16:30  [ТС]     Не правильно считает((( #6
Цитата Сообщение от Chelioss Посмотреть сообщение
Это делается просто:
k=abs(k); // для этого надо подключить файл #include "math.h"
или
k*=-1;

Вот правильная программа:
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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
if(k<0)
    k*=-1;
for( int i = 0; i < k ; i++ )r*=A; //возводим число в степень.
 
if(k<0)
  r=1/r;
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}

ВСеравно не правильно считает((
2 в квадрате=8
а 2 в -квадрате =2
помогите кто то плизик)))
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
17.04.2011, 16:33     Не правильно считает((( #7
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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
int t=k;
if(k<0)
    k*=-1;
for( int i = 1; i < k ; i++ )r*=A; //возводим число в степень.
 
if(t<0)
  r=1/r;
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 16:39  [ТС]     Не правильно считает((( #8
Цитата Сообщение от Chelioss Посмотреть сообщение
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
#include "stdafx.h"
#include <stdlib.h>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{double A;
int k;
cout<<"Input A; "; cin>>A; //вводим A
cout<<"Input k: "; cin>>k; //вводим k
double r  = A;
int t=k;
if(k<0)
    k*=-1;
for( int i = 1; i < k ; i++ )r*=A; //возводим число в степень.
 
if(t<0)
  r=1/r;
 
cout<<"Otvet: "<<r<<endl; //выводим ответ.
system("pause");
return 0;
}
Спасибо большое ты очень помог)))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
17.04.2011, 16:51     Не правильно считает((( #9
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
#include <iostream>
 
using namespace std;
int main(int argc, char* argv[])
{
   int power;
   double num, res;
 
   cout << "Input number: ";
   cin >> num;
   cout << "Input power: ";
   cin >> power;
 
   if (power == 0)
      res = 1;
   else
   {
      if (power > 0)
         res = num;
      else
      {
         res = 1./num;
         power = abs(power);
      }
      for (int i = 1; i < power; i++)
         res *= res;
   }
   cout << "Result num^power = " << res << endl;
   system("pause");
   return 0;
}
OneLove
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 28
17.04.2011, 17:09  [ТС]     Не правильно считает((( #10
Цитата Сообщение от kazak Посмотреть сообщение
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
#include <iostream>
 
using namespace std;
int main(int argc, char* argv[])
{
   int power;
   double num, res;
 
   cout << "Input number: ";
   cin >> num;
   cout << "Input power: ";
   cin >> power;
 
   if (power == 0)
      res = 1;
   else
   {
      if (power > 0)
         res = num;
      else
      {
         res = 1./num;
         power = abs(power);
      }
      for (int i = 1; i < power; i++)
         res *= res;
   }
   cout << "Result num^power = " << res << endl;
   system("pause");
   return 0;
}
спасибо и вам))

Добавлено через 1 минуту
А как сюда добавить еще
Программа выполняет вычисление и предлагает ввести следующую пару чисел. Отказом от продолжения служит возведение 0 в 0-ю степень.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2011, 17:17     Не правильно считает(((
Еще ссылки по теме:

Не правильно считает программа C++
Почему не правильно считает? C++
Не правильно считает C++

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
17.04.2011, 17:17     Не правильно считает((( #11
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
#include <iostream>
 
using namespace std;
int main(int argc, char* argv[])
{
   int power;
   double num, res;
 
   while (1)
   {
      cout << "Input number: ";
      cin >> num;
      cout << "Input power: ";
      cin >> power;
 
      if (power == 0)
         break;
      if (power > 0)
         res = num;
      else
      {
            res = 1./num;
            power = abs(power);
      }
      for (int i = 1; i < power; i++)
         res *= res;
 
      cout << "Result num^power = " << res << endl;
   }
   system("pause");
   return 0;
}
Yandex
Объявления
17.04.2011, 17:17     Не правильно считает(((
Ответ Создать тему
Опции темы

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