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

Anasayfa Programlama C++ Builder ?iir Yazan Program


?iir Yazan Program

Bu Program C++ Builder 5 ile uyumludur.

AÇIKLAMA

Bu program genel olarak Türkçenin edebiyat bak?m?ndan düzgün bir yap?da cümle kurma ve redif uyak gibi özellikleri bar?nd?rmas? aç?s?ndan bir örnek te?kil eder.Klasör içindeki fiil,zarf,isim ve s?fat dosyalar?ndan kelimeler çekilerek uygun yap?da cümle kurduktan sonra kurulan cümleye uyak olu?turacak yeni cümleler kurar. E?er yap?ya göre uyakl? bir kelime bulamazsa bu durumda random bir cümle kurar.

Örnek cümle yap?s?:

Kurall? Cümle örnekleri vb.

S?fat isim zarf fiil
?sim zarf fiil
S?fat isim fiil
Zarf s?fat isim fiil
Zart s?fat isim zarf fiil

Devrik Cümle örnekleri vb.

Zarf fiil isim
Zarf fiil sifat isim

Yukar?da verilen tiplerden random bir tanesini seçer ve dörtlü?ü tamamen ayn? cümle yap?s?ndan olu?turur.
Yeni dörtlükte ba?ka bir tip seçebilir.Seçilen tipe göre uyakl? cümleler kurarak dörtlü?ü tamamlar.

Fiil s?fat zarf ve isim dosyalar? zenginle?tirilerek daha zengin kelime gruplar? elde edilebilir.

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. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;         int genel;   int indis=-1;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm1::TForm1(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18.  
  19. void sifirla()
  20. {
  21. Form1->ListBox1->Items->LoadFromFile("fiil.txt");
  22. Form1->ListBox2->Items->LoadFromFile("isim.txt");
  23. Form1->ListBox3->Items->LoadFromFile("s?fat.txt");
  24. Form1->ListBox4->Items->LoadFromFile("zarf.txt");
  25. genel=0;
  26.  
  27.  
  28. }
  29. //---------------------------------------------------------------------------
  30.  void cumleolustur(String durum,String gelen)
  31.  {
  32.  
  33.  Sleep(100);
  34.  String zarf1="",sifat="",isim="",fiil="",zarf2="";   int kontrol=0;  String olustur="";
  35.  if(durum=="fiil")
  36.  {
  37.  int x=random(3);
  38.  if(x==2)
  39.  {
  40.  int z=random(Form1->ListBox4->Items->Count);
  41.  zarf1=Form1->ListBox4->Items->Strings[z];   kontrol=1;
  42.  Form1->ListBox4->Items->Delete(z);
  43.  }
  44.  int i=random(Form1->ListBox2->Items->Count);
  45.  isim=Form1->ListBox2->Items->Strings[i];
  46.  Form1->ListBox2->Items->Delete(i);
  47.  x=random(2);
  48.  if((x==1)||(kontrol==1))
  49.  {
  50.  int s=random(Form1->ListBox3->Items->Count);
  51.  sifat=Form1->ListBox3->Items->Strings[s];
  52.  Form1->ListBox3->Items->Delete(s);
  53.  }
  54.  x=random(4);
  55.  if(x==3)
  56.  {
  57.   int z=random(Form1->ListBox4->Items->Count);
  58.   zarf2=Form1->ListBox4->Items->Strings[z];
  59.   Form1->ListBox4->Items->Delete(z);
  60.   }
  61.  
  62.  if(zarf1!="")
  63.  {olustur+=zarf1; olustur+=" ";}
  64.  if(sifat!="")
  65.  {olustur+=sifat;  olustur+=" ";}
  66.  olustur+=isim;   olustur+=" ";
  67.  if(zarf2!="")
  68.  {olustur+=zarf2; olustur+=" ";}
  69.  olustur+=gelen;
  70.  Form1->Memo1->Lines->Add(olustur);
  71.   int tut;
  72.  
  73.  for(int k=0;k<Form1->ListBox1->Items->Count;k++)
  74.  {
  75.   if(gelen==Form1->ListBox1->Items->Strings[k])
  76.   {
  77.   tut=k;
  78.   break;
  79.   }
  80.  }
  81.  Form1->ListBox1->Items->Delete(tut);
  82.  
  83.  indis=-1;
  84.  int saydir=0;
  85.  while(saydir<4)
  86.  {
  87.  saydir++;
  88.  String gelenilk=gelen;
  89.  if(saydir==1)
  90.  gelenilk.Delete(1,gelenilk.Length()-3);
  91.  if(saydir==2)
  92.  gelenilk.Delete(1,gelenilk.Length()-2);
  93.  if(saydir==3)
  94.  gelenilk.Delete(1,gelenilk.Length()-1);
  95.  
  96.  for(int j=0;j<Form1->ListBox1->Items->Count;j++)
  97.  {
  98.   String of=Form1->ListBox1->Items->Strings[j];
  99.   if(saydir==1)
  100.   of.Delete(1,of.Length()-3);
  101.   if(saydir==2)
  102.   of.Delete(1,of.Length()-2);
  103.   if(saydir==3)
  104.   of.Delete(1,of.Length()-1);
  105.   if(gelenilk==of)
  106.   {
  107.    indis=j; saydir=4;
  108.    break;
  109.    }
  110.  }
  111.  
  112.   }
  113.   if(indis==-1)
  114.   {
  115.   indis=random(Form1->ListBox1->Items->Count);
  116.   }
  117.   }
  118.   if(durum=="isim")
  119.   {
  120.   int x=random(3);
  121.  if(x==2)
  122.  {
  123.  int z=random(Form1->ListBox4->Items->Count);
  124.  zarf1=Form1->ListBox4->Items->Strings[z];
  125.  Form1->ListBox4->Items->Delete(z);
  126.  }
  127.  int i=random(Form1->ListBox1->Items->Count);
  128.  fiil=Form1->ListBox1->Items->Strings[i];
  129.  Form1->ListBox1->Items->Delete(i);
  130.  x=random(4);
  131.  if(x==3)
  132.  {
  133.   int z=random(Form1->ListBox4->Items->Count);
  134.   zarf2=Form1->ListBox4->Items->Strings[z];
  135.   Form1->ListBox4->Items->Delete(z);   kontrol=1;
  136.   }
  137.  x=random(2);
  138.  if((x==1)||(kontrol==1))
  139.  {
  140.  int s=random(Form1->ListBox3->Items->Count);
  141.  sifat=Form1->ListBox3->Items->Strings[s];
  142.  Form1->ListBox3->Items->Delete(s);
  143.  }
  144.  
  145.  
  146.    if(zarf2!="")
  147.  {olustur+=zarf2; olustur+=" ";}
  148.  if(fiil!="")
  149.  {olustur+=fiil;  olustur+=" ";}
  150.  if(zarf2!="")
  151.  {olustur+=zarf2; olustur+=" ";}
  152.  if(sifat!="")
  153.  {olustur+=sifat; olustur+=" ";}
  154.  olustur+=gelen;
  155.  Form1->Memo1->Lines->Add(olustur);
  156.  
  157.  
  158.  
  159.    int tut;
  160.  
  161.  for(int k=0;k<Form1->ListBox2->Items->Count;k++)
  162.  {
  163.   if(gelen==Form1->ListBox2->Items->Strings[k])
  164.   {
  165.   tut=k;
  166.   break;
  167.   }
  168.  }
  169.  Form1->ListBox2->Items->Delete(tut);
  170.  
  171.  indis=-1;
  172.  int saydir=0;
  173.  while(saydir<4)
  174.  {
  175.  saydir++;
  176.  String gelenilk=gelen;
  177.  if(saydir==1)
  178.  gelenilk.Delete(1,gelenilk.Length()-3);
  179.  if(saydir==2)
  180.  gelenilk.Delete(1,gelenilk.Length()-2);
  181.  if(saydir==3)
  182.  gelenilk.Delete(1,gelenilk.Length()-1);
  183.  
  184.  for(int j=0;j<Form1->ListBox2->Items->Count;j++)
  185.  {
  186.   String of=Form1->ListBox2->Items->Strings[j];
  187.   if(saydir==1)
  188.   of.Delete(1,of.Length()-3);
  189.   if(saydir==2)
  190.   of.Delete(1,of.Length()-2);
  191.   if(saydir==3)
  192.   of.Delete(1,of.Length()-1);
  193.   if(gelenilk==of)
  194.   {
  195.    indis=j; saydir=4;
  196.    break;
  197.    }
  198.  }
  199.  
  200.   }
  201.   if(indis==-1)
  202.   {
  203.   indis=random(Form1->ListBox2->Items->Count);
  204.   }
  205.   }
  206.  
  207.  
  208.  
  209.  }
  210. //---------------------------------------------------------------------------
  211.  
  212. void __fastcall TForm1::Button1Click(TObject *Sender)
  213. {
  214.  
  215. sifirla();
  216. Memo1->Lines->Clear();
  217. for(int l=0;l<3;l++)
  218. {
  219. Sleep(2000);
  220. randomize();
  221. int x=random(2);
  222. if(x==0)
  223.  {
  224.   int p=random(ListBox1->Items->Count);
  225.   indis=p;
  226.   for(int i=0;i<5;i++)
  227.   cumleolustur("fiil",ListBox1->Items->Strings[indis]);
  228.   sifirla();
  229.   }
  230. if(x==1)
  231. {
  232.   int p=random(ListBox2->Items->Count);
  233.   indis=p;
  234.   for(int i=0;i<5;i++)
  235.   cumleolustur("isim",ListBox2->Items->Strings[indis]);
  236.   sifirla();
  237.   }
  238.   Memo1->Lines->Add("");
  239. }
  240.  
  241. }
  242. //---------------------------------------------------------------------------
  243.  

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

Not Found

The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.