1

Тема: результат піднесення до степеню виводить нуль

до мене звернулись за допомогою з простесенькою задачею піднесення до степеню
код наступний (чисте С):

#include <conio.h>
#include <stdio.h>

int stepen(int x,int p)
 {
  int b,m;
  b=x;
   for(m=1;m<p;m++)
    {
      x*=b;
    }
 return x;
}

void main(void)
{

 int N,a,n,i;
 double S,z1,z2;

 scanf("%i",&N);
 scanf("%i",&a);

 z1=stepen(-1,N);
 z2=stepen(a,N);

 printf("%d\n",z1);
 printf("%d",z2);

 getch();
}

з чистим С я ніколи не працювала, розумію на аналогогіях з плюсами, тому трішки підправила код щоб він був на С++ щоб можна скомпілювати  (пакету для чистого С у codeblocks не маю) - все чітко вивелось як треба
але у знайомого воно вперто виводить нулі
тому в мене закралась підозра, що це може бути якось пов’язано з чисто С фішками, яких я можу не знати
то ж в чому помилка?

2 Востаннє редагувалося Skyzerks Synx (18.11.2014 23:04:51)

Re: результат піднесення до степеню виводить нуль

Cyan написав:

з чистим С я ніколи не працювала, розумію на аналогогіях з плюсами, тому трішки підправила код щоб він був на С++ щоб можна скомпілювати  (пакету для чистого С у codeblocks не маю) - все чітко вивелось як треба
але у знайомого воно вперто виводить нулі
тому в мене закралась підозра, що це може бути якось пов’язано з чисто С фішками, яких я можу не знати
то ж в чому помилка?

Буде простіше це зрозуміти, якщо скинете оригінал.

3

Re: результат піднесення до степеню виводить нуль

це і є оригінал -_-

4 Востаннє редагувалося 0xDADA11C7 (18.11.2014 23:14:49)

Re: результат піднесення до степеню виводить нуль

printf("%d\n",z1);
printf("%d",z2);

Не %d a %f

Подякували: Cyan, koala2

5 Востаннє редагувалося Skyzerks Synx (18.11.2014 23:24:39)

Re: результат піднесення до степеню виводить нуль

0xDADA11C7 написав:
printf("%d\n",z1);
printf("%d",z2);

Не %d a %f

Скоріш за все це воно і є.
Я на такі граблі попадав часто  :D  :D  :D

6

Re: результат піднесення до степеню виводить нуль

Прихований текст
Cyan написав:

stepen

:D  :D  :D  :D  :D  *BRAVO*  *BRAVO*  *BRAVO*  :D