C programlama ödevimde yardımcı olabilecek var mı ?

Kodla Büyü

leones

Üye
Mesajlar
5
Henüz 1. sınıfım

x ve n değerleri klavyeden girildiğinde aşağıdaki dizinin sonucunu hesaplayan bir program yazınız? (Fonksiyon yapılarını kullanınız)
1+x^1+x^2+x^3+x^4+……………………+x^n
 
Direk kodu yazmayayım ama mantığı yazayım
fonksiyon tanımla x ve n değerlerini fonksiyona gönder
1 den n e kadar döngü yap
x in i üstünü al
toplama değeri ekle
sonucu geri gönder

programda n ve x değerlerini sor
fonksiyonu çağır
gelen değere 1 ekle

Kolay gelsin
 
Henüz 1. sınıfım

x ve n değerleri klavyeden girildiğinde aşağıdaki dizinin sonucunu hesaplayan bir program yazınız? (Fonksiyon yapılarını kullanınız)
1+x^1+x^2+x^3+x^4+……………………+x^n
İnternetten Fonksiyonlar ve döngüler konusunu araştır. Kodlarını oluşturmaya çalış. Sonra bu kodlar üzerinden çalışmayan yerleri sorarsan, senin için öğrenme adına daha iyi olacaktır.
 
#include <stdio.h>
#include <stdlib.h>

int main()
{
int x,n,j,i,k,z,tamcevap=0;

printf("x degerini giriniz:");
scanf("%d",&x);

printf("n degerini giriniz:");
scanf("%d",&n);

int cevap[n];
for(j=0;j<n;j++)
{
cevap[j]=1;
}

for(i=0;i<n;i++)
{
for(k=0;k<=i;k++)
{
cevap=x*cevap;
}
}
for(z=0;z<n;z++)
{
tamcevap=cevap[z]+tamcevap;
}

printf("%d",tamcevap+1);

return 0;
}
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
int x,n,sonuc=1;

printf("x degerini giriniz:");
scanf("%d",&x);

printf("n degerini giriniz:");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
sonuc=sonuc+pow(x,i);
}
printf("Sonuç=",sonuc);
return 0;
}
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
int x,n,sonuc=1;

printf("x degerini giriniz:");
scanf("%d",&x);

printf("n degerini giriniz:");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
sonuc=sonuc+pow(x,i);
}
printf("Sonuç=",sonuc);
return 0;
}
hocam doğru cevabı vermiyor sadece üst alıyor.
 
Kod:
#include <stdio.h>
#include <stdlib.h>

int usHesapla(int taban, int us);
int toplamHesapla(int x, int n);

int main ()
{
  int x, n, toplamSonuc;

  printf ("x degerini giriniz: ");
  scanf ("%d", &x);

  printf ("n degerini giriniz: ");
  scanf ("%d", &n);

  toplamSonuc = toplamHesapla(x, n);
  printf ("Toplam Sonucu = %d", toplamSonuc);

  return 0;
}

int usHesapla(int taban, int us)
{
    int sonuc = 1;
    for (int i = 1; i <= us; i++)
    {
        sonuc = sonuc * taban;
    }
    return sonuc;
}

int toplamHesapla(int x, int n)
{
    int us, toplam = 0;
    for (int i = 0; i <= n; i++)
    {
      us = usHesapla(x, i);
      toplam = toplam + us;
    }
    return toplam;
}
 
Son düzenleme:
Henüz 1. sınıfım

x ve n değerleri klavyeden girildiğinde aşağıdaki dizinin sonucunu hesaplayan bir program yazınız? (Fonksiyon yapılarını kullanınız)
1+x^1+x^2+x^3+x^4+……………………+x^n
Kardeş, hocanız fonksiyon yapılarını kullanmanı istemiş. Normalde diğer hocalarımın da belirttiği şekilde bu tür dizilerin hesaplanmasında döngü yapıları kullanılır. Fakat hocanızın "fonksiyon yapılarını kullanınız" ifadesinden çıkan sonuç şu ki; döngü yapısı değil rekürsif (öz yinelemeli) fonksiyon kullanacaksın. Kodu veriyorum bi incele:
//******************************************************
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int hesapla(int, int);
//--------------------------------
int main()
{
int _x = 0, _n = 0;
printf("Taban değeri giriniz.\n");
scanf("%d",&_x);
printf("Üs değeri giriniz.\n");
scanf("%d",&_n);
printf("Sonuç:%d \n", hesapla(_x, _n));
return 0;
}
//-----------------------------
int hesapla(int x, int n)
{
if(n==0) return 1;
else return (pow(x,n) + hesapla(x,--n));
}
//****************************************************************
 
Geri
Üst