Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder En Küçük Sayıyı Bul ve Sayıyı Oku


En Küçük Sayıyı Bul ve Sayıyı Oku

Bu Program C++ Builder 6 ile uyumludur. 

AÇIKLAMA

Programa Sayıları Giriniz.Sayıları Ekledikten Sonra Çöz Butonuna Basarak İşlemin Tamamlanma Zamanını ve En Küçük  Sayının Okunuşu Görebilirsiniz.

Programda Sayıları Enter Tuşuna Basarak da Ekleyebilirsiniz.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #pragma hdrstop
  6.  
  7. #include "Unit1.h"
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma resource "*.dfm"
  11. TForm1 *Form1;
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18.  
  19. void __fastcall TForm1::Button1Click(TObject *Sender)
  20. {
  21. if(Edit1->Text!="")  //edit bos değilse
  22. {
  23. ListBox1->Items->Add(Edit1->Text);     //girilen sayıyı kutuya ekle
  24. Edit1->Text="";                        //sayı girisini bosalt
  25. }
  26. else
  27. Application->MessageBox("Lütfen Sayı Giriniz","UYARI",MB_ICONINFORMATION)//bos eklemeye izin verme
  28. }
  29. //---------------------------------------------------------------------------
  30.  
  31. void __fastcall TForm1::Button2Click(TObject *Sender)
  32. {
  33. unsigned short Saat,Dakika,Saniye,MiliSaniye;      // zaman hesaplaması icin tanımlamalar
  34. TDateTime tarih;                                   // tarih tanımla
  35. tarih.CurrentTime().DecodeTime(&Saat,&Dakika,&Saniye,&MiliSaniye); // bugunun tarihini saat dakika saniye ve milisaniye olarak ayır
  36. String atanacak=IntToStr(Saat)+":";     // ayırılan parcaları stringe yazarak edit2 ye ata
  37. atanacak+=IntToStr(Dakika)+":";
  38. atanacak+=IntToStr(Saniye)+":";
  39. atanacak+=IntToStr(MiliSaniye);         // buraya kadar
  40. Edit2->Text=atanacak;                    //atandı
  41. int sayi=ListBox1->Items->Count;           // kutudaki toplam sayı adedini al
  42. String dizi[9];                  //tanımlamalar okuma işlemi icin
  43. dizi[0]="BİR";
  44. dizi[1]="İKİ";
  45. dizi[2]="ÜÇ";
  46. dizi[3]="DÖRT";
  47. dizi[4]="BEŞ";
  48. dizi[5]="ALTI";
  49. dizi[6]="YEDİ";
  50. dizi[7]="SEKİZ";
  51. dizi[8]="DOKUZ";
  52. String dizi1[9];
  53. dizi1[0]="ON";
  54. dizi1[1]="YİRMİ";
  55. dizi1[2]="OTUZ";
  56. dizi1[3]="KIRK";
  57. dizi1[4]="ELLİ";
  58. dizi1[5]="ALTMIŞ";
  59. dizi1[6]="YETMİŞ";
  60. dizi1[7]="SEKSEN";
  61. dizi1[8]="DOKSAN";            // tanımlamalar bitti
  62. if(sayi>0)                     // eger kutuda sayı varsa
  63. {
  64. long int ilksayi;
  65. String tut=ListBox1->Items->Strings[0]// kutudaki ilk sayiyi al
  66. ilksayi=StrToInt(tut);
  67. long int enkucuk=ilksayi;               // alınan ilk sayıyı en kucuk kabul et
  68. for(int i=0;i<sayi;i++)                 // kutudaki tum sayıları gez
  69. {
  70.  String gecis=ListBox1->Items->Strings[i];   // sayıları sira ile
  71.  long int karsilastir=StrToInt(gecis);
  72.  if(ilksayi>karsilastir)                // kabul edilen en kucuk sayi ile karsılastır eger daha kucugu bulunursa
  73.  {
  74.  enkucuk=karsilastir;                  // yeni bulunan sayı en kucuk olarak al
  75.  ilksayi=enkucuk;                      // kabul edilen en kucuk sayıyada yeni bulunan değeri ata
  76.  }
  77. }
  78. // burada en kucuk sayı bulundu
  79. int uzunlugu=(IntToStr(enkucuk)).Length()//bulunan sayının kac hane oldugunu bul
  80.  
  81. String enkucuksayimiz=IntToStr(enkucuk);   // sayıyı stringe cevir
  82. String kopya1=enkucuksayimiz;            // sayının okuma işlemi icin kopyalarını al
  83. String kopya2=enkucuksayimiz;
  84. String kopya3=enkucuksayimiz;
  85. String kopya4=enkucuksayimiz;
  86. String kopya5=enkucuksayimiz;
  87. String kopya6=enkucuksayimiz;
  88. String kopya7=enkucuksayimiz;
  89. String kopya8=enkucuksayimiz;
  90. String kopya9=enkucuksayimiz;            // kopyalar
  91.  
  92.  
  93.  
  94.  String temiz;
  95.  kopya1.Delete(1,uzunlugu-1);     //yuzmilyonlar hanesi
  96.  kopya2.Delete(1,uzunlugu-2);     //onmilyonlar hanesi
  97.  kopya2.Delete(2,1);
  98.  kopya3.Delete(1,uzunlugu-3);     //milyonlar hanesi
  99.  kopya3.Delete(2,2);
  100.  kopya4.Delete(1,uzunlugu-4);     //yuzbinler hanesi
  101.  kopya4.Delete(2,3);
  102.  kopya5.Delete(1,uzunlugu-5);     //onbinler hanesi
  103.  kopya5.Delete(2,4);
  104.  kopya6.Delete(1,uzunlugu-6);     //binler hanesi
  105.  kopya6.Delete(2,5);
  106.  kopya7.Delete(1,uzunlugu-7);     //yüzler hanesi
  107.  kopya7.Delete(2,6);
  108.  kopya8.Delete(1,uzunlugu-8);     //onlar hanesi
  109.  kopya8.Delete(2,7);
  110.  kopya9.Delete(2,uzunlugu-1);     //birler hanesi
  111.  if((kopya9=="1")&&(uzunlugu==9))     //sayımız 9 haneli ise ve 9.cu hanesi 1 ise
  112.  temiz="YÜZ ";
  113.  if((kopya9!="1")&&(uzunlugu==9))     // sayımız 9 haneli ise ve 9.cu hanesi 1 değilse
  114.  temiz=dizi[StrToInt(kopya9)-1]+" YÜZ ";
  115.  if((kopya8!="0")&&(uzunlugu>=8))
  116.  temiz+=dizi1[StrToInt(kopya8)-1]+" ";
  117.  if((kopya7!="0")&&(uzunlugu>=7))
  118.  temiz+=dizi[StrToInt(kopya7)-1]+" MİLYON ";
  119.  if((kopya7=="0")&&(uzunlugu>=7))
  120.  temiz+="MİLYON ";
  121.  if((kopya6=="1")&&(uzunlugu>=6))
  122.  temiz+="YÜZ ";
  123.  if((kopya6!="0")&&(kopya6!="1")&&(uzunlugu>=6))
  124.  temiz+=dizi[StrToInt(kopya6)-1]+" YÜZ ";
  125.  if((kopya5!="0")&&(uzunlugu>=5))
  126.  temiz+=dizi1[StrToInt(kopya5)-1]+" ";
  127.  if((kopya4!="0")&&(uzunlugu>4))
  128.  temiz+=dizi[StrToInt(kopya4)-1]+" BİN ";
  129.  if((kopya4!="0")&&(uzunlugu==4)&&(kopya4=="1"))
  130.  temiz+=" BİN ";
  131.  if((kopya4=="0")&&(uzunlugu>=4))
  132.  temiz+="BİN ";
  133.  if((kopya3=="1")&&(uzunlugu>=3))
  134.  temiz+="YÜZ ";
  135.  if((kopya3!="0")&&(kopya3!="1")&&(uzunlugu>=3))
  136.  temiz+=dizi[StrToInt(kopya3)-1]+" YÜZ ";
  137.  if((kopya2!="0")&&(uzunlugu>=2))
  138.  temiz+=dizi1[StrToInt(kopya2)-1]+" ";
  139.  if((kopya1!="0")&&(uzunlugu>=1))
  140.  temiz+=dizi[StrToInt(kopya1)-1]+" ";
  141.  Label1->Caption=temiz;
  142.  tarih.CurrentTime().DecodeTime(&Saat,&Dakika,&Saniye,&MiliSaniye); //tekrar zmaanı al
  143.  atanacak=IntToStr(Saat)+":";
  144.  atanacak+=IntToStr(Dakika)+":";
  145.  atanacak+=IntToStr(Saniye)+":";
  146.  atanacak+=IntToStr(MiliSaniye);
  147.  Edit3->Text=atanacak;  //ata olay bitmiştir:))
  148.  }
  149. else
  150. Application->MessageBox("En Az Bir Sayı Giriniz","UYARI",MB_ICONINFORMATION)// kutuda sayı yok uyarı ver
  151. }
  152. //---------------------------------------------------------------------------
  153.  
  154. void __fastcall TForm1::Button3Click(TObject *Sender)
  155. {
  156. ListBox1->Items->Clear();
  157. Edit1->Text="";
  158. Label1->Caption="";       
  159. }
  160. //---------------------------------------------------------------------------
  161.  
  162. void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
  163. {
  164. if(Key=='.')
  165. Key=0;
  166. else if(((Key<'0')||(Key>'9'))&&((Key!=VK_DELETE)&&(Key!=VK_BACK)&&(Key!=VK_RETURN)))
  167. {
  168. Key=0;
  169. }
  170. if(Key==VK_RETURN)
  171. Button1->Click();
  172. }
  173. //---------------------------------------------------------------------------
  174.  
  175.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Perşembe, 07 Nisan 2011 23:34 )