Merhaba Arkadalar, aşağıdaki proje ödevim hakkında nasıl algoritma kurmalıyım ? Arama yapmak için hangi algoritmaları kullanmalıyım ? Kısa kısa "şu yolu izlersen daha daha iyi olur" diyebilirseniz çok memnun olurum.
Proje Konusu: ( C++ ile yazılacak )
Arama Motoru
Kapsam:
Bu arama motoru PC’de farklı dosya içerisinde istenilen bir ifadeyi aramayı gerçekleştirecek bir tasarım olacak. Dosyalar en az 4 farklı türde oluşturulacaktır. ÖRN: a *.docx b *.txt c *.pdf d *.html
İşlem Aşamaları:
1- Herbir dosya, içerisinde en az 100000 (yüzbin) adet kelime barındırmalı. Bu kelimeler her yerden kopyala yapıştır şeklinde veriler olabileceği gibi internet ortamından elde edebileceğiniz hazır veri setleri de kullanılabilir. Verileriniz kesinlikle anlamlı olmalıdır.
2- Arama işlemi ana hatları aşağıdaki şekilde gerçekleştirilmelidir. 1. Arama tüm dokümanlar üzerinde son veriye kadar gerçekleştirilecek. 2. Arama Tam eşleşmeler ve Yaklaşık Eşleşmeler şekilde sonuçlar üretecek. (bunu mu demek istediniz? Şeklinde). 3. Tüm aramalar için sonuç elde edilme zaman bilgisi verilecek
3-Arama işlemi çıktı sonuçları, türünü sizin belirleyeceğiniz bir dosyaya kaydedilecek. Arama işleminin bitmesi ile birlikte arama sonuçlarına ait kaydedilen dosya otomatik olarak açılacak. Dosya içeriğinin görünümü istediğiniz gibi planlanabilir
Detay:
Tasarımda sadece Veri Yapıları dersi içeriği konularına ait algoritmalar kullanılabilir. Hatta kullanılması Zorunludur.
merhaba. 2 farklı sorum var abi.benim bir while döngüm var. ben bu döngünün 1 saniyede bir dönmesini istiyoprum. bunu sleep(1) komutu ile yapıyorum bunda bir sıkıntı yok. ama benim o 1 saniye durduğu süreçte input almam gerekiyor.ama şöyle olması gerekşyor. kullanıcı giredebilir, girmeyedebilir, 1 saniye dolunca input için beklememesini istiyorum. bu konuda yardımcı olurmusunuz. tetris ödevim var ve onun için yardım istiyorum.
merhaba. 2 farklı sorum var abi.benim bir while döngüm var. ben bu döngünün 1 saniyede bir dönmesini istiyoprum. bunu sleep(1) komutu ile yapıyorum bunda bir sıkıntı yok. ama benim o 1 saniye durduğu süreçte input almam gerekiyor.ama şöyle olması gerekşyor. kullanıcı giredebilir, girmeyedebilir, 1 saniye dolunca input için beklememesini istiyorum. bu konuda yardımcı olurmusunuz. tetris ödevim var ve onun için yardım istiyorum.
Dostum anlayamadığım tek bir şey var bu inputu almamıza göre bir kontrol yapılacak mı yani kullanıcı input girdiyse şöyle..., girmediyse böyle davransın diye yoksa input girse de girmese de aynı şekilde devam mı?
Şimdi biraz baktım da ben c# üzerinden konuşacak olursam herhangi bir fonksiyona timeout eklenebiliyor. Aslında bu işin tek bir yöntemi yok, kimi yerlerde asenkronizasyon ile WaitOne fonksiyonu kullanılmış, kimi yerde timeout eklenmiş vs...
Ben de net bilmiyorum Google'dan baktıklarıma göre senin için şöyle deneme kodu yazdım, sorunsuzca çalışıyor. (c# konsol uygulaması). Bu kod şunu yapıyor, döngü içerisinde "i"yi yazıp 10 saniye boyunca bekliyor bu esnada kullanıcı input girerse (string deneme olan ifade) onu da ekrana yazdırıyor, girmezse timeout hatası veriyor. Bunu kendine göre düzenlersin. Bununla Sleep komutunu da kullanmana gerek yok. Tek seferde hem döngüyü durduruyorsun hem de input alıyorsun.
namespace ConsoleApp1 { class Program {
static void Main(string[] args) { int i = 0; while (i <= 10) { Console.WriteLine("i = "+i); i++;
Burada i = 2'den sonra 10 saniye boyunca bir şey yazmadım ve else komutundaki time out hatasını aldım. Sen burada duruma göre "else" kısmına kullanıcı bu süre içerisinde input girmezse ne yapılacaksa onu yazarsın. Eğer hiçbir şey yapmadan döngüye devam etsin diyorsan benim "if" kısmında yaptığım gibi sadece noktalı virgül koyup geçebilirsin. O şekilde bir şey yapmadan döngüye devam eder.
using namespace std; int main(){ srand(time(0)); int sec ; int x1,x2,y1,y2; int s1; int s2=0; basa : cout<<"Zar oyununa hos geldiniz:"<<endl<< endl<< endl;
using namespace std; int main(){ srand(time(0)); int sec ; int x1,x2,y1,y2; int s1; int s2=0; basa : cout<<"Zar oyununa hos geldiniz:"<<endl<< endl<< endl;
if (y1==7|| y1==11){ cout<<"kazandiniz:"<<endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
else if (y1==2 || y1==3 || y1==12){ cout<<"kaybettiniz:"<<endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
else {cout<<"\nOYUNA DEVAM EDIYOSUNUZ"<< endl; cin >> sec ; switch(sec) { case 1 : goto devam ; break ; default : break ; } }
devam : int zart[20]; int x11=(rand()%6+1); int x22=(rand()%6+1); int t; t=x11+x22;
if (t==7 ||t==11) {cout << "Oyunu kaybetiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
for(int i=0 ; i<=100 ; i++) { x11=(rand()%6+1); x22=(rand()%6+1); t=x11+x22; zart=t ; cout << "Zarlarin toplami ="<<t << endl; if (y1==zart) {cout << "Kazandiniz"<< endl; cout <<"En basa din devam veya cik "<< endl; cin >> sec ; switch(sec) {case 0 : goto basa ; break ; default : break ; }
} if (zart==zart[i-1]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-2]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-3]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-4]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-5]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-6]) {cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default :
break ; } }
}
return 0; }
Maalesef programınızdan pek bir şey anlamadım. C++'ın syntax'ına hakim değilim kodlarınızı online bir compilerda çalıştırdım da baya bir hata veriyor. Tam olarak hangi goto'dan bahsediyorsunuz. "basa" ve "devam" diye 2 farklı goto yapıyorsunuz. Bir de tam ne istediğinizi de anlayamadım döngü diyorsunuz, dizi diyorsunuz, biraz açmanız lazım.
using namespace std; int main(){ srand(time(0)); int sec ; int x1,x2,y1,y2; int s1; int s2=0; basa : cout<<"Zar oyununa hos geldiniz:"<<endl<< endl<< endl;
if (y1==7|| y1==11){ cout<<"kazandiniz:"<<endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
else if (y1==2 || y1==3 || y1==12){ cout<<"kaybettiniz:"<<endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
else {cout<<"\nOYUNA DEVAM EDIYOSUNUZ"<< endl; cin >> sec ; switch(sec) { case 1 : goto devam ; break ; default : break ; } }
devam : int zart[20]; int x11=(rand()%6+1); int x22=(rand()%6+1); int t; t=x11+x22;
if (t==7 ||t==11) {cout << "Oyunu kaybetiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; } }
for(int i=0 ; i<=100 ; i++) { x11=(rand()%6+1); x22=(rand()%6+1); t=x11+x22; zart=t ; cout << "Zarlarin toplami ="<<t << endl; if (y1==zart) {cout << "Kazandiniz"<< endl; cout <<"En basa din devam veya cik "<< endl; cin >> sec ; switch(sec) {case 0 : goto basa ; break ; default : break ; }
} if (zart==zart[i-1]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-2]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-3]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-4]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-5]) {cout << "Aferim kazandiniz "<< endl; cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default : break ; }
} if (zart==zart[i-6]) {cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl; cin >> sec ; switch(sec) { case 1 : goto basa ; break ; default :
break ; } }
}
return 0; }
Galiba ödevini yaptırıyorsun, bari pastebin tarzı bir siteye yükle de yolla. Gözlerim kanadı okumaya çalışırken. Daha sorduğun şeyi nasıl soracağını bile bilmiyorsun. Kodun compile error veriyor, int* a int tanımlamışsın, aynı kodu 5 defa kopyalamışsın. Bence yapıları tam anlayamamışsın üzerinden bir daha geç.
Girilen bir array daki değerleri ikinci bir array e atmak istiyorum. İlk array e birden fazla kez giriş yapılacak ve her seferinde ikinci arrey bu sayılar yeni eleman olarak katılacak. Nasıl yapabilirim?
Girilen bir array daki değerleri ikinci bir array e atmak istiyorum. İlk array e birden fazla kez giriş yapılacak ve her seferinde ikinci arrey bu sayılar yeni eleman olarak katılacak. Nasıl yapabilirim?
Bunun için Array yerine List veya Arraylist kullanmanız gerek. Normal bir diziye sonradan ekleme-çıkarma yapılamaz. Sadece doğrudan atama yapılır. List veya ArrayList ile de söylediğiniz işlemler çok basit. Remove, Add vb. gibi komutları araştırırsanız rahatlıkla çözersiniz.
< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 23 Aralık 2019; 23:10:3 >
Bir docx uzantılı word belgesinin içindeki verileri programa aktarıp labelda yazdırabiliyorum.
Ama benim bu dosyadaki tüm bilgileri bir dizide tutmam gerekiyor. Sonra o dizi aracılığıyla dosyadaki harf sayısı, kelime sayısı, boşluk sayısı gibi fonksiyonları yerine getireceğim.
C# kodlamayalı uzun zaman oldu ama yapacağın şey for döngüsü dışında bir "List<string> liste = new List<string>();" tanımlamak ve döngünün içinde liste.Add(documan.Words.Text); demekten ibaret gibi görünüyor. Labela atacağına listeye atacaksın işte neresinde zorlandın bunun anlamadım?
Hocam sana dün gece açıklamalı uzun uzun bir mesaj yazmıştım daha sonra o mesajı düzenlerken yanlışlıkla komple sildim. Şu an müsait değilim bugün tekrar müsait bir vakitte ilgilenmeye çalışacağım.
Herkese selam arkadaşlar.ünide 1.sınıfta algoritmaya giriş dersi aldık c++ gösterdiler ama çok fazla dinlemedim.2.sınıfta 2 adet programlama dersimiz var ayrıca iş hayatında da lazım olacak bir dil.Sorum şu 20 günlük tatil var önümde bu sürede programlamaya dair ne yapmam doğru olur?
Hocam sana dün gece açıklamalı uzun uzun bir mesaj yazmıştım daha sonra o mesajı düzenlerken yanlışlıkla komple sildim. Şu an müsait değilim bugün tekrar müsait bir vakitte ilgilenmeye çalışacağım.
Alıntıları Göster
Müsait olduğunuzda ilgilenirseniz çok memnun kalırım hocam
Hocam merhaba. Anca yetiştirebildim. Sizin için ufak bir form uygulaması üzerinden örnek bir veri üzerinden açıklamaya çalıştım. Bazı detaylar kod satırlarında yorum olarak mevcut. Amacım özellikle içerisinde karışık ifadeler bulunduran durumlarda ne yapılabilir bunu göstermek. Mesela yan yana 2 tane boşluk olursa veyahut da daha fazla sayıda boşluk olursa, verinin başında sonunda boşluk olursa, içerisinde özel karakterler-sayılar olursa... vs gibi durumları düşünerekten yapmaya çalıştım.
Butonlara basınca altlarında ait oldukları durumla ilgili sayı bilgisi ve text alanlarında da verinin son hali yazacak şekilde kodlanmıştır.
Kelime Sayısı Butonu kodları: NOT: Şu kütüphaneyi en başta ekleyin öncelikle "using System.Text.RegularExpressions;"
string Veri = labelVeri.Text;
Veri = Veri.Trim(); //En baştaki ve en sondaki -varsa- boşlukları siler. Veri = Regex.Replace(Veri, @"[\d-]", string.Empty); //Verideki sayıları siler. NOT: Silinen sayıların yerine 1 fazla boşluk eklenir. string[] dizi = Veri.Split(' '); int sayi = 0; foreach (string item in dizi) { if (String.IsNullOrWhiteSpace(item)) { ; //Fazladan olan boşluk/boşluklar diziye eleman olarak altılır //burada o boşluk elemanlarını ayırdık, //kalanları sadece harflerden oluşan (kelime) eleman olacaktır. } else if (item.All(char.IsLetter)) //Eleman kelime ise (hepsi harften oluşuyorsa) { sayi++; richTextBox1.Text = richTextBox1.Text + item + " "; } } labelKelimeSayisi.Text = sayi.ToString();
Harf Sayısı Butonu kodları:
string Veri = labelVeri.Text;
Veri = Veri.Trim(); //En baştaki ve en sondaki -varsa- boşlukları siler. Veri = Regex.Replace(Veri, "[^a-zA-Z0-9]", ""); //Verideki harf ve sayı dışındaki tüm karakterleri siler. Boşluklar dahildir. Veri = Regex.Replace(Veri, @"[\d-]", string.Empty); //Verideki sayıları siler. char[] dizi = Veri.ToCharArray();
Proje Konusu: ( C++ ile yazılacak )
Arama Motoru
Kapsam:
Bu arama motoru PC’de farklı dosya içerisinde istenilen bir ifadeyi aramayı gerçekleştirecek bir tasarım olacak. Dosyalar en az 4 farklı türde oluşturulacaktır. ÖRN: a *.docx b *.txt c *.pdf d *.html
İşlem Aşamaları:
1- Herbir dosya, içerisinde en az 100000 (yüzbin) adet kelime barındırmalı. Bu kelimeler her yerden kopyala yapıştır şeklinde veriler olabileceği gibi internet ortamından elde edebileceğiniz hazır veri setleri de kullanılabilir. Verileriniz kesinlikle anlamlı olmalıdır.
2- Arama işlemi ana hatları aşağıdaki şekilde gerçekleştirilmelidir. 1. Arama tüm dokümanlar üzerinde son veriye kadar gerçekleştirilecek. 2. Arama Tam eşleşmeler ve Yaklaşık Eşleşmeler şekilde sonuçlar üretecek. (bunu mu demek istediniz? Şeklinde). 3. Tüm aramalar için sonuç elde edilme zaman bilgisi verilecek
3-Arama işlemi çıktı sonuçları, türünü sizin belirleyeceğiniz bir dosyaya kaydedilecek. Arama işleminin bitmesi ile birlikte arama sonuçlarına ait kaydedilen dosya otomatik olarak açılacak. Dosya içeriğinin görünümü istediğiniz gibi planlanabilir
Detay:
Tasarımda sadece Veri Yapıları dersi içeriği konularına ait algoritmalar kullanılabilir. Hatta kullanılması Zorunludur.
< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Şimdi biraz baktım da ben c# üzerinden konuşacak olursam herhangi bir fonksiyona timeout eklenebiliyor. Aslında bu işin tek bir yöntemi yok, kimi yerlerde asenkronizasyon ile WaitOne fonksiyonu kullanılmış, kimi yerde timeout eklenmiş vs...
Ben de net bilmiyorum Google'dan baktıklarıma göre senin için şöyle deneme kodu yazdım, sorunsuzca çalışıyor. (c# konsol uygulaması). Bu kod şunu yapıyor, döngü içerisinde "i"yi yazıp 10 saniye boyunca bekliyor bu esnada kullanıcı input girerse (string deneme olan ifade) onu da ekrana yazdırıyor, girmezse timeout hatası veriyor. Bunu kendine göre düzenlersin. Bununla Sleep komutunu da kullanmana gerek yok. Tek seferde hem döngüyü durduruyorsun hem de input alıyorsun.
Ekran görüntüsü olarak da aldığım çıktı şöyle:
< Resime gitmek için tıklayın >
Burada i = 2'den sonra 10 saniye boyunca bir şey yazmadım ve else komutundaki time out hatasını aldım. Sen burada duruma göre "else" kısmına kullanıcı bu süre içerisinde input girmezse ne yapılacaksa onu yazarsın. Eğer hiçbir şey yapmadan döngüye devam etsin diyorsan benim "if" kısmında yaptığım gibi sadece noktalı virgül koyup geçebilirsin. O şekilde bir şey yapmadan döngüye devam eder.
Not: C#'ta Threading kütüphanesini eklemeyi unutmayın. (using System.Threading)
< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 19 Aralık 2019; 18:28:0 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
srand(time(0));
int sec ;
int x1,x2,y1,y2;
int s1;
int s2=0;
basa :
cout<<"Zar oyununa hos geldiniz:"<<endl<< endl<< endl;
x1=(rand()%6+1);
x2=(rand()%6+1);
y1=x1+x2;
cout<<"birinci zar:"<<x1<<endl;
cout<<"ikinci zar:"<<x2<<endl;
cout<< "Zarlarin toplami:"<< y1 ;
if
(y1==7|| y1==11){
cout<<"kazandiniz:"<<endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
}
else if
(y1==2 || y1==3 || y1==12){
cout<<"kaybettiniz:"<<endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
}
else {cout<<"\nOYUNA DEVAM EDIYOSUNUZ"<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto devam ;
break ;
default :
break ;
}
}
devam :
int zart[20];
int x11=(rand()%6+1);
int x22=(rand()%6+1);
int t;
t=x11+x22;
if (t==7 ||t==11)
{cout << "Oyunu kaybetiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
} }
for(int i=0 ; i<=100 ; i++)
{
x11=(rand()%6+1);
x22=(rand()%6+1);
t=x11+x22;
zart=t ;
cout << "Zarlarin toplami ="<<t << endl;
if (y1==zart)
{cout << "Kazandiniz"<< endl;
cout <<"En basa din devam veya cik "<< endl;
cin >> sec ;
switch(sec)
{case 0 :
goto basa ;
break ;
default :
break ;
}
}
if (zart==zart[i-1])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
}
if (zart==zart[i-2])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
} if (zart==zart[i-3])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
} if (zart==zart[i-4])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
} if (zart==zart[i-5])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
} if (zart==zart[i-6])
{cout << "Aferim kazandiniz "<< endl;
cout << "Bastan veya oyundan cik "<< endl;
cin >> sec ;
switch(sec)
{ case 1 :
goto basa ;
break ;
default :
break ;
}
}
}
return 0;
}
Bu mesaja 2 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Fulton
Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu mesaj bu kişi tarafından değiştirildi Fulton -- 23 Aralık 2019; 23:10:3 >
Bir docx uzantılı word belgesinin içindeki verileri programa aktarıp labelda yazdırabiliyorum.
Ama benim bu dosyadaki tüm bilgileri bir dizide tutmam gerekiyor. Sonra o dizi aracılığıyla dosyadaki harf sayısı, kelime sayısı, boşluk sayısı gibi fonksiyonları yerine getireceğim.
Belgedeki verileri diziye nasıl atayabilirim ?
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 2 cevap geldi. Cevapları Gizle
ve döngünün içinde liste.Add(documan.Words.Text); demekten ibaret gibi görünüyor.
Labela atacağına listeye atacaksın işte neresinde zorlandın bunun anlamadım?
Bu mesajda bahsedilenler: @Munayahmet
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi. Cevapları Gizle
fotoğraf atmak zorundayım kopyala yapıştır yapınca sunucu hatası aldım .
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @waytçaklıtmoğa
Bu mesaja 1 cevap geldi. Cevapları Gizle