Girilen Sayının Palindromik Olup Olmadığını Bulmak ( C )
Palindrom, tersten okunuşu da aynı olan cümle, kelime ve sayılara denilmektedir.(wiki)
*
Biz bu programla daha çok “sayı” ya odaklanacağız. Kullanıcadan bir sayı girilmesini isteyeceğiz. Bu sayının tersten yazılışı da girilen ilk sayıya eşit ise bu sayı palindromdur.
*
“Yazılım Mühendisi öğrencisi Adem arkadaşıma yardımları için teşekkürler.”
C dilinde yapıldı bu program. İleriki günlerde Java dilindeki programı da ekleyeceğim.
C dilinde fonksiyon kullanarak yapıldı ve VS 2010’da yazıldı. O yüzden bazı derleyici farklılıkları yüzünden başka IDE ler de çalıştırırken dikkat edilmeli.
İlk önce kütüphanelerimizi ekliyoruz.
#include "stdafx.h" #include #include #include
Ardından fonksiyonumuzu oluşturalım. Ardından neler yapmışsız adım adım açıklıyalım.
int pol_yaz(int n) { int i=0,j=0,x=0; int dizi[10]; while (n>0) { dizi[i]=n%10; n=n/10; i++; } while(i>0) { x=dizi[i-1]*pow(10.0,j)+x; printf("\n%d",x); j++; i--; } return x; }
Bu fonksiyon adımında yapılan iş, ana programımızdan alınan sayının rakam rakam bir diziye atılması ile başlıyor.
Örnek olarak kullanıcı 321 sayısı girdiğini düşünelim.
Dizi[0]=1; Dizi[1]=2; Dizi[2]=3 atanmış olacak. Bö
Böyle yapmamızda ki amaç iste 321 sayısını ters çevirmek yani 123 yaparak ilk girilen sayı ile karşılaştırmak .
Sayımızı dizimize attık. İkinci while döngüsüyle beraber . Pow komutu ile (yani üzeri alma) komutuyla 100+20+3 diye toplattırarak bir sayı elde etmek.
Ve o elde ettiğimiz sayıyı ana programımıza göndererek ilk girilen sayı ile karşılaştırıp Palindromik Sayı mı değil mi öğrenmiş olacağız.
Ana programımızı yazalım.
int _tmain(int argc, _TCHAR* argv[]) { int n; int son; printf("Sayi"); scanf("%d",&n); son=pol_yaz(n); if (son==n){ printf("\nPalindromik Sayı");} else if(son!=n) {printf("\nPalindromik Sayı Değil");} getch(); return 0; }
Ana programımızda bir sayı aldık fonksiyonumuza göndererek işlem yaptırdık ve ardından ise sayının tersini alarak karşılaştırma yaptık.
Sorunuz varsa yorum yaparsanız cevap vermeye çalışırım.
mesale diziye rastgele sayı atıp bunkarın arasından palindirome sayıları nasıl buluruz yardımcı olursanız cok sevinirim
1- Josephus Problemini dairesel linkedlist kullanarak sonucunu oluşturan uygulama ve alt programlarını yazınız.
2-Leaf-Node ve Internal Node item sayısı 3 olan B+Tree’lerde
void AddItem(){ }
methodunu yazınız.
bu iki soruda yardımcı olabilir misiniz
Tabiki yardımcı olurum. Siz nerelerde takıldınız. Hangi hataları alıyorsunuz yazmanız yeterli.