N Elemanlı Bir Kümenin R Elemanlı Alt Kümelerinin Gösterimi

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Konum
Mardin
Cinsiyet
  1. Bay
Takım
Tarafsız
Girilen elemanlara ait istenilen elemandan oluşan alt kümeleri ve sayısını kullancıya gösteren programdır. Girilen elemanların aynı olup olmadığıda kontrol edilmiştir.

Kod:
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListBox1->Items->Add(Edit1->Text);
Edit1->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ListBox2->Items->Clear();
ListBox3->Items->Clear();
ListBox4->Items->Clear();
String of=InputBox("GİRİş","Bulmak İstediğiniz Alt Kümelere Ait Eleman Sayısını Giriniz","");
int altkume=StrToInt(of);
Application->MessageBox("Öncelikli Olarak Aynı Elemanların Eleminasyonu Kontrolü","UYARI",MB_ICONINFORMATION);
for(int i=0;i<ListBox1->Items->Count;i++)
{
  for(int j=i+1;j<ListBox1->Items->Count;j++)
    {
    if(ListBox1->Items->Strings[i]==ListBox1->Items->Strings[j])
    ListBox1->Items->Delete(j);
    }
}
 
for(int i=0;i<ListBox1->Items->Count;i++)
 {
 for(int j=i+1;j<ListBox1->Items->Count;j++)
  {
  String olustur=ListBox1->Items->Strings[i]+","+ListBox1->Items->Strings[j];
   ListBox3->Items->Add(olustur);
   }
   }
if(altkume==1)
{
for(int bir=0;bir<ListBox1->Items->Count;bir++)
ListBox2->Items->Add(ListBox1->Items->Strings[bir]);
}
else if(altkume==2)
{
for(int bir=0;bir<ListBox3->Items->Count;bir++)
ListBox2->Items->Add(ListBox3->Items->Strings[bir]);
}
else if(altkume>2)
{
for(int dolan=0;dolan<altkume-2;dolan++)
{
 
for(int i=0;i<ListBox3->Items->Count;i++)
 {
 String tut=ListBox3->Items->Strings[i];
 String virgul=",";
 while(tut.Length()>0)
 {
 int pos=tut.Pos(virgul);
 String copy=tut;
 String listesalla=tut.Delete(pos,tut.Length());
 ListBox5->Items->Add(listesalla);
 tut=copy.Delete(1,pos);
 pos=tut.Pos(virgul);
 if(pos<1)
 {
 ListBox5->Items->Add(tut);
 break;
 }
 }//while sonu
  for(int j=i+1;j<ListBox3->Items->Count;j++)
   {
        String tut=ListBox3->Items->Strings[j];
        String virgul=",";
         while(tut.Length()>0)
        {
        int pos=tut.Pos(virgul);
        String copy=tut;
        String listesalla=tut.Delete(pos,tut.Length());
        int gontrol=0;
        for(int g=0;g<ListBox6->Items->Count;g++)
        {
        if(listesalla==ListBox6->Items->Strings[g])
        gontrol=1;
        }
        if(gontrol==0)
        ListBox6->Items->Add(listesalla);
         tut=copy.Delete(1,pos);
         pos=tut.Pos(virgul);
 if(pos<1)
 {
  int pontrol=0;
        for(int g=0;g<ListBox6->Items->Count;g++)
        {
        if(tut==ListBox6->Items->Strings[g])
        pontrol=1;
        }
 if(pontrol==0)
 ListBox6->Items->Add(tut);
 break;
 }
 }
  }   // icteki for sonu
 for(int k=0;k<ListBox6->Items->Count;k++)       // x foru
  {
  
  int kontrol=0;
   for(int l=0;l<ListBox5->Items->Count;l++)
    {
       if(ListBox6->Items->Strings[k]==ListBox5->Items->Strings[l])
       kontrol=1;
     }
     String uret="";
   int saydir;
   int konum;
   for(int m=0;m<ListBox4->Items->Count;m++)
   {
   saydir=0;
   for(int n=0;n<ListBox5->Items->Count;n++)
   {
   konum=ListBox4->Items->Strings[m].Pos(ListBox5->Items->Strings[n]);
   if(konum>0)
   saydir++;
   }
   konum=ListBox4->Items->Strings[m].Pos(ListBox6->Items->Strings[k]);
   if(konum>0)
   saydir++;
   if(saydir==ListBox5->Items->Count+1)
   kontrol=1;
   }
   if(kontrol==0)
   {
 
    for(int z=0;z<ListBox5->Items->Count;z++)
    {
      uret+=ListBox5->Items->Strings[z];
      uret+=",";
    }
      uret+=ListBox6->Items->Strings[k];
  ListBox4->Items->Add(uret);
 
   }//if sonu
 
 
  } // x foru sonu
 
 
 
 ListBox5->Items->Clear();
  ListBox6->Items->Clear();
} //son for
 
ListBox3->Items->Clear();
 
for(int donelim=0;donelim<ListBox4->Items->Count;donelim++)
{
ListBox3->Items->Add(ListBox4->Items->Strings[donelim]);
}
ListBox4->Items->Clear();
ListBox2->Items->Clear();
for(int bitir=0;bitir<ListBox3->Items->Count;bitir++)
{
ListBox2->Items->Add(ListBox3->Items->Strings[bitir]);
}
}
}//else if
 
Label2->Caption="Girilen Elemanlara Ait "+IntToStr(altkume)+" Elamanlı Alt Kümeler";
Label3->Caption=IntToStr(ListBox2->Items->Count)+".Adet";
 
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key<'0'||Key>'9')&&(Key!=VK_BACK))
Key=0;
        
}
//---------------------------------------------------------------------------
 
Benzer konular Forum Tarih
Kurtbeyi C ve C++ 2 195
Kurtbeyi C ve C++ 1 195
Kurtbeyi C ve C++ 1 168
Kurtbeyi C ve C++ 1 151
Kurtbeyi C ve C++ 1 164

Benzer konular

HarbiMekân

Kurucu Admin
Harbi Üye
Katılım
13 Mart 2019
Mesajlar
8,267
Tepkime puanı
230
Emeğine sağlık hocam.
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş