C(si) dasturlash tilida palindrom sonlarni aniqlashni o'rganamiz

Assalomu aleykum bo'lajak dasturchilar! Bugun siz bilan C (si) dasturlash tilida bitta masalani qanday yechishni o'rganib chiqamiz.





Masala sharti : Kiritilgan sonning Palindrom yoki palindrom emasligini aytuvchi dastur tuzing!




Boshda o'zi palindrom nima ekanligini bilib olishimiz kerak. Palindrom son quyidagicha bo'ladi. Bu sonni chapdan boshlab o'qisangiz ham, o'ngdan boshlab o'qisangiz ham bir xil sonni anglatishi kerak. Misol uchun 121 soni. Bu sonni chapdan ham, o'ngdan ham o'qisangiz bir son, 121 chiqadi. Shunday sonlarga palindrom sonlar deyiladi. Dastur kodini quyida keltiraman va izohlar orqali bir-birma tushuntirib o'taman.

Kod : 

#include <stdio.h>

int main()
{
   int n, r = 0, t;

   printf("Son kiriting\n");   // Ekranga xabar chiqaramiz
   scanf("%d",&n);   // n o'zgaruvchisiga foydalanuvchi tomonidan qiymat beramiz va uning adresini olamiz

   t = n;   // t o'zgaruchisiga n ning qiymatini beramiz

   while( t != 0 )   // t ning qiymati 0ga teng bo'lmagnicha takrorlanadi
   {
      r = r * 10;    // r ni 10 ga ko'paytiramiz
      r = r + t % 10;    // t ni 10ga bo'lib qoldiq olib r ni qo'shib qo'yyabmiz
      t = t / 10;    // endi t ni 10 ga bo'lib t ga o'zlashtirib qo'yyabmiz
   }

   if ( n == r ) // Agar dasturni boshida kiritgan sonimiz bilan siklni ichidagi r o'zgaruvchisining                      // qiymati teng bo'lsa, demak u son palindrom
      printf("%d Palindrom son.\n", n);   //Xabar chiqarish
   else   // Aks holda palidrom emas deb xabar chiqaryabmiz
      printf("%d Palimdrom son emas.\n", n);

   return 0; 
}

Comments

Popular posts from this blog