Bu Algoritma Dogru Mu Yaptim Az Bakin :|
-
kullanici n=4 gircek mesela
algoritma x bulcak yani x = 4+3+2+1 = 10
ben bunu yapitim:
n= kullanici rakam giriyor
x = 0
cevap= 0
while ( x <= n)
x = x + 1 {n rakamina yetisene kdr +1 yapioruzz}
cevap = cevap + x {en son toplam olan cevap + sonuncu x}
while bitti
yaz ("n="cevap)
-
bunu neyde yaptın bilmiyorum yani hangi dil için zannedersem toplam işlemi yaptırıyorsun onun matematiksel işlemler olmasılazım dillerde toplamişemini bul öle dene yada ben seni delphi üzerinden anlatayım sen ona göre uyarla
şimdi n i girdi demi
edit koy birtane
buton koy buntona bunu yaz
var
n,i,a:integer; bunların değişken olduğunu belirtik
begin
n:=strtoint(edit1.text)-1; editteki stringi integera çevirdik -1 yapmamım sebebi farklı
a=0;// a yı sıfır dedik
for i:=0 to n do //döngü başlattık 0 dan n kadar tekrarlayack
begin
a:=a+n-i;/// buradada a eşittir a+girdiğimiz sayı - döngüdeki kaçıncı işlemse o yani ilki için ne oluyor a=0+n-0 yani a=n oluyor 2.nci işlemde a=n+n-1 böle böle gidiyor işte
end;
showmassege(inttostr(a));
end;
böle olması lazım
hatam olabilir denemedim aklımdan yazdım umarım işine yarar
---------------------------------------------
okadar kasmaya gerek yok şimdi farkettim
bu daha kolay gibi
edit koy buton koy
butona bunuyaz
var
i,n,a:integer;
n:=strtoint(edit1.text)
begin
for n:=1 to n do
begin
a=a+i
end
showmesaj(inttostr(a));
end
-
valla hiç bi dilden yapmicaktik öle saf algoritma :D yinede saol
-
rica ederim :D
-
Yanlışın var.
x = x + 1
Satırında X i bir azaltıyorsun.
Ayrıca algoritmandaki dert de şu:
Eğer N yerine negatif bir sayı girilirse ne yapacaksın :D
-
bunu pascal diliylemi yazdın? pascalı unuttumda baya oldu..ama yanlış olmus gibi geldi
-
ed_a bunu yazdı:
-----------------------------
bunu pascal diliylemi yazdın? pascalı unuttumda baya oldu..ama yanlış olmus gibi geldi
-----------------------------Bu bir programlama dili falan değil.
Orada "if" yerine, "eğer" yazsaydı da sorun olmazdı.
Bu sadece ALGORITMA dili falan yok.
Kuralları da esnek.
Dokuman Arşivinde Rene'nin dokumanı da var Algoritmayla ilgili.
-
git gide herşeyi unutuyorum ztn algoritmayı 2 saat görmustuk hemen geçmiştik mantğını bile unuttum:S
-
Forumu P2P chat gibi kullanmazsan, ve arka arkaya 2 mesaj atmazsan,
Ben de mesajlarını silmek zorunda kalmam ?
-
bana mıydı bu ?
Edit: (Musket) EVET. Sanaydı. PM'im de sanaydı.
EDIT 2: (Musket) PM okumayı öğren !
-
GrayWolf bunu yazdı:
-----------------------------kullanici n=4 gircek mesela
algoritma x bulcak yani x = 4+3+2+1 = 10
ben bunu yapitim:
-----------------------------Kardesim yazdigindan anladigim kadar sen 1 den n e kadar olan sayilarin toplamini veren olayin algoritmasini yazmak istiyosun.Mesela ben 5 girdigimde
1+2+3+4+5 i vericek sonra sonucu vericek yada 10 yazdigimda veya 10000 gidicem 1 den baslayip verecegimiz sayiya kadar hesaplamasini istiyorsun.
*Soyle bir formul vardir bilirsin belki 1 den n e kadar olan sayilarin toplami => n(n+1) / 2 n sonlu sayimiz yani etc 5 => 5(5+1) / 2 =>15
1+2+3+4+5 => yapincada 15 i bulursun...simdi program olarak algoritma olarak nasil yaparsan dersek..
1)Kullanici n sayisini giricek
2)Program n sayisini alicak programdaki degiskene koyucak
3) n(n+1) / 2 yi hesaplayip atadigin sonuc degiskenine koyuycak ve ekrana yazdiricak
belki bunu biliyosun sen baska yollardan hesaplatmaya calisiyosundur belki oyleyse pardon....biraz C bildigim icin c ile yapmayi denersem :) ins olur
#include
int main()
{
int n, sonuc; \\dogal sayi olarak tanimladim degiskenleri
printf("Lutfen bir sayi giriniz\n");
scanf("%d",&n); \\ yine integer olarak aldim %d sayesinde ve n e yerlestirdim
sonuc=n*(n+1)/2; \\ buda 1 den n e kadar olan sayilari bulucak..
printf("Sonucunuz=> %d \n",sonuc);
system("PAUSE");
return 0;
} \\ istedigin sonucu veren program boyle dandik bise olabilir :) umarim yarar isine.
C++ icinse degisen bisey yok
#include
using namespace std;
int main()
{
int n, sonuc;
cout<<" Lutfen bir sayi giriniz\n";
cin>>n;
sonuc=n*(n+1)/2;
cout<<"Sonucunu="<<<"\n";
system("PAUSE");
return 0;
}
eger diyosanki bunlar isime yaramaz ben n(n+1)/2 formulunu zaten baska yollarla algoritmalarla bulmak istiyorum ozaman soyle yapabiliriz..
#include
int main()
{
int sonuc=0, a, b;
printf("Lutfen bir sayi giriniz\n");
scanf("%d",&a);
for(b=0;b<=a;b++) \\ aslinda daha kisa yapilabilir belki birsuru sey belirlemisim filan ama bende yeniyim :)
{
sonuc=sonuc+b;
}
printf("Sonuc= %d \n",sonuc);
system("PAUSE");
return 0;
}
neyse arkadasim insallah faydali olabilmisimdir :) bu arada programlama dilini bilen arkadaslar yanlis gorurlerse kizip elestirmesinler lutfen :) ben zaten iyi oldugumu bildigimi idda etmiyorum , sadece elimden gelen kadar yazmaya calistim..iyi gunler..yardim filan gerekirse yine kardesim *i ekliyebilirsin msn ine elimden geleni yapmaya calisirim..