Помогни ни да направим Uroci.net по - богат! Добави урок

Степенуване

C++ » C++
stefan2804   трудност:    видян: 2131

Сега ще покажа как да се построи програма, която степенува. В програмата има обаче един минус, не може да степенува на дробни степени, ако може някой да напише в коментарите как точно се правеше това ще съм му много благодарен.

 

Сега към задачата.

 

#include<iostream>
using namespace std;
int main()

 

 Започваме писането с тези три реда, след което добавяме две променливи, чиято стойност ще се въвежда от клавиатурата. Или:

 

double a, n;
cin >> a >> n;

 

Задължително е променливите ни да са въведени с ключова дума... (или както там му се казваше) double,  за да може програмата да степенува с отрицателни степени, но за това после.

След като си въведем променливите трябва да въведем още две такива, чиято стойност ще я напишем още в кода или:

 

int i = 0, d = 1; 

 

Променливата "i" може и да не се пише, но с нея задачата се пише малко по-лесно.

След като сме си въвели променливите  сега трябва да проверим дали "n" ни е положително или отрицателно. Това става с оператора if-else или:

 

if ( n > 0 )
    {
        ...

    }
else
    {
        ...

    } 

 

Разбира се на мястото на точките ще напишем какво трябва да се случва когато едно то двете условия е изпълнено. Първо с if:

 Трябва да добавим цикъл, който да отмерва стойноста на n спрямо нула и докато тя е по-голяма числото a да се умножава по себе си. Тук ще ни послужат "i" и "d". 

 

while ( n > i)

{

  d = d * a;

  i++;

} 

 

След като цикълът е приключил, просто  след него напишете:

 

cout << d;

 

И програмата ще ви изведе степенуваното число.

 

Сега обаче трябва да направим така, че да може да се степенува и с отрицателна степен. Това е почти същото.

След else трябва просто да обърнем стойността  на n от отрицателна в положителна, да го умножим по -1, след това просто трябва да повторим същия цикъл и накрая да разделим едно на степенуваното число или:

 

else
    {
        n = n * (-1);
        while ( n > i)
        {
            d = d * a;
            i++;
        }
        cout << 1 / d;
    }

 

Та това беше обяснението на програмата. Пълният й вид е ето това:

 

#include<iostream>
using namespace std;
int main()
{
    double a, n, i = 0, d = 1;
    cin >> a >> n;
    if ( n > 0 )
    {
        while ( n > i)
        {
            d = d * a;
            i++;
        }
        cout << d;
    }
    else
    {
        n = n * (-1);
        while ( n > i)
        {
            d = d * a;
            i++;
        }
        cout << 1 / d;
    }
return 0;
}
 

 

 



Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: IT Новини