T

Yüzbaşı
30 Nisan 2012
Tarihinde Katıldı
Takip Ettikleri
2 üye
Görüntülenme (?)
178 (Bu ay: 0)
Gönderiler Hakkında
T
8 ay
C# Proje Ödevimde Çözemediğim Bir Kısım
using System;
using System.Collections.Generic;
using System.Linq;


namespace Data_Structures_Project_1
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.soru A şıkkı:


            Console.WriteLine("Rastgele 20 noktanın koordinatları:");
            RandomYaz(20);


            Console.ReadLine();


            Console.WriteLine("Rastgele 50 noktanın koordinatları:");
            RandomYaz(50);
           


            Console.WriteLine("Bir tuşa basınız...");
            Console.ReadKey();


            NearestNeighbor(20);


            Console.ReadKey();
        }
        
        //Noktaları en yakın komşu algoritmasına göre dolaşan kod. Yani C şıkkı.
        public static void NearestNeighbor(int noktasayisi2)
        {
            Random rand3 = new Random();
            
            //Kendi noktalarımız arasından rastgele bir nokta seçeceğimiz için önceki bir noktadan tekrar başlamamak gerekir. Bu yüzden her noktanın index değerini tutarız.
            List<int> noktalar = new List<int>();
            //Her uzaklığı tutmak için bir liste.
            List<double> uzaklikList = new List<double>();
            //RandomCoor metotu ile 20 noktalık bir dizi oluşturduk. RandomCoor metotu 2d diziye return olduğu için burada yeni bir 2d diziye eşitleyebiliyoruz.
            double[,] knn2 = RandomCoor(20);
            double minYol = 0;
            //Her seferinde yeni bir noktaya geçmek için temporary değer tanımladık.
            double[,] temp = new double[1, 2];
            //Bu sayı listesi gezilen noktaların index değerini tutar. Gezilen bir noktaya geri dönmemek için.
            List<int> sayiList = new List<int>();
            double toplamYol = 0;
            double[,] distmatrix2 = new double[noktasayisi2, noktasayisi2];






            //Oluşturduğumuz noktalar içerisinde 10 kez döneceğimiz için 10luk bir for loopa aldık.
            for (int chp = 0; chp < 10; chp++)
            {


                sayiList.Clear();
                //Soruda rastgele bir nokta seçin dediği için randomx oluşturuluyor.Bu randomx 0 ile nokta sayısı arasında bir değer alır.
                //Sütunlar zaten sadece 2 adet olduğu için satır değeri bize noktayı verir.
                int randomx = rand3.Next(0, noktasayisi2);


                if (noktalar.Contains(randomx))
                {
                    continue;
                }
                noktalar.Add(randomx);


                Console.WriteLine("Tur numarası {0}:",chp+1);


                while (true)
                {




                    for (int qwe = 0; qwe < noktasayisi2; qwe++)
                    {
                        //Eğer qwe değeri sayı listesinde varsa döngüdeki diğer elemana geç.
                        if (sayiList.Contains(qwe))
                        {
                            continue;
                        }


                        //Uzaklık fonksiyonu ile ilk rastgele noktamızın diğerlerine olan uzaklıklarını hesaplar. 0'a eşit olmadığı zamanları listeye atar çünkü 0'a eşit olduğunda kendisiyle olan
                        //uzaklığı ölçülmüştür.
                        if (Uzaklik(knn2[randomx, 0], knn2[randomx, 1], knn2[qwe, 0], knn2[qwe, 1]) != 0)
                        {
                            uzaklikList.Add(Uzaklik(knn2[randomx, 0], knn2[randomx, 1], knn2[qwe, 0], knn2[qwe, 1]));
                        }




                    }


                    //En kısa yol bulunur.
                    minYol = uzaklikList.DefaultIfEmpty().Min();
                    toplamYol += minYol;


                    for (int akp = 0; akp < noktasayisi2; akp++)
                    {
                        //Rastgele noktamızın bütün noktalara olan uzaklığı, en kısa yolla karşılaştırılır. Eğer eşleşirse akp değeri ile yeni noktanın indexi tutulur.
                        if (Uzaklik(knn2[randomx, 0], knn2[randomx, 1], knn2[akp, 0], knn2[akp, 1]) == minYol)
                        {
                            //Yeni noktamızı temporary değerimize eşitleriz.
                            temp[0, 0] = knn2[akp, 0];
                            temp[0, 1] = knn2[akp, 1];
                            sayiList.Add(akp);
                        }
                    }


                    //ve randomx değerimizi de geçici değerimize eşitleriz. Böylece döngü en başa döndüğünde randomx değeri yeni nokta değeri olur ve hiçbir nokta yeniden gezilmemiş olur.
                    knn2[randomx, 0] = temp[0, 0];
                    knn2[randomx, 1] = temp[0, 1];




                    Console.WriteLine(knn2[randomx, 0] + " " + knn2[randomx, 1]);






                    //Her seferinde noktalar arası uzaklığın tutulduğu liste temizlenmelidir.Yoksa yeni noktaya geçip yeni uzaklıkları hesapladığımızda önceki değer yenilerinden küçükse
                    //minYol değeri hep aynı kalacaktır ve bu yüzden yeni geçeceğimiz noktanın indexini bulamayacağız.
                    uzaklikList.Clear();






                    //sayı listesinin elemanlarının sayısı nokta sayısına ulaştığında döngü biter.
                    if (sayiList.Count() == noktasayisi2 - 1)
                    {
                        break;
                    }
                }
            }


            Console.WriteLine("Sırasıyla gidilen yol(index):");
            sayiList.ForEach(Console.Write);


            for (int k = 0; k < noktasayisi2; k++)
            {
                for (int kx = 0; kx < noktasayisi2; kx++)
                {
                    distmatrix2[k, kx] = Uzaklik(knn2[k, 0], knn2[k, 1], knn2[kx, 0], knn2[kx, 1]);
                }
            }


            Console.WriteLine("Gidilen toplam yol " + toplamYol);


            Console.WriteLine("Noktaların arasındaki uzaklıklar(Uzaklık Matrisi):");


            for (int q = 0; q < noktasayisi2; q++)
            {
                for (int qx = 0; qx < noktasayisi2; qx++)
                {
                    Console.WriteLine(q + " ile " + qx + " arasındaki uzaklık:" + distmatrix2[q, qx]);
                }
            }
        }


        //Öklid uzaklığını hesaplayan fonksiyon.
        public static double Uzaklik(double x1, double y1, double x2, double y2)
        {
            return Math.Sqrt(((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));
        }




        // Random noktaları yazdıran fonksiyon.
        public static void RandomYaz(int noktasayisi)
        {
            for (int j = 0; j < noktasayisi; j++)
            {
                Console.WriteLine("Nokta " + (j + 1).ToString() + "in x koordinatı:" + RandomCoor(noktasayisi)[j, 0] + " " + "y koordinatı:" + RandomCoor(noktasayisi)[j, 1]);
            }


        }


        //Random X ve Y koordinatları oluşturan metot.
        public static double[,] RandomCoor(int noktasayisi2)
        {
            
            var rand2 = new Random();
            double[,] knn = new double[noktasayisi2, 2];


            for (int ax = 0; ax<noktasayisi2; ax++)
            {
                knn[ax, 0] = rand2.NextDouble() * 19 + 1;
                knn[ax,1] = rand2.NextDouble() * 19 + 1;
            }


            


            return knn;
           
        }


        public static void DistMatrix(int noktasayisi)
        {
            RandomCoor(noktasayisi);
            double[,] dstmatrix = new double[noktasayisi, noktasayisi];
            
            for (int k = 0; k < noktasayisi; k++)
            {
                for (int kx = 0; kx < noktasayisi; kx++)
                {
                    dstmatrix[k, kx] = Uzaklik(RandomCoor(noktasayisi)[k, 0], RandomCoor(noktasayisi)[k, 1], RandomCoor(noktasayisi)[kx, 0], RandomCoor(noktasayisi)[kx, 1]);
                }
            }
            Console.WriteLine("Noktaların arasındaki uzaklıklar:");


            for (int q = 0; q < noktasayisi; q++)
            {
                for (int qx = 0; qx < noktasayisi; qx++)
                {
                    Console.WriteLine(q + " ile " + qx + " arasındaki uzaklık:" + dstmatrix[q, qx]);
                }
            }
        }
        


    }
}


Arkadaşlar dist matrix fonksiyonunda oluşturduğum n x 2 lik bir matrisi n x n lik bir uzaklık matrisine dönüştürüyorum
mesela [1,1] olduğu zaman 1 ile 1 arasındaki uzaklığı veriyor yani 0
peki ben bu matrisi nasıl bir tablo halinde çizebilirim? mesela çarpım tablosu gibi
yani şöyle
0 1 2 3 4
1
2
3
4

her sayı birbiriyle karşılaştığı zaman tabloda değeri yazacak. 2 adet for döngüsüyle olur gibi geldi bana ama nasıl yapılır bilemedim.
T
8 ay
c# yardım lütfen fonksiyondaki arraye erişme
using System;


namespace Data_Structures_Project_1
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.soru A şıkkı:
            Console.WriteLine("Lütfen oluşturmak istediğiniz nokta sayısını giriniz:");
            int noktasayisi = int.Parse(Console.ReadLine());
            double[,] noktalar = new double[noktasayisi*2+1,2];
            noktalar[0,0] = 0;
            noktalar [0,1] = 0;
            var rand = new Random();


            for (int i=1; i < noktasayisi*2; i++)
            {
                //rand.NextDouble fonksiyonu 0 ile 1 arasında değer döndürür. Ben ise 20 ile 1 arasında değer almasını istiyorum.
                //Bunun için maximum sayı ile minimum sayı arasındaki mesafe bulunup 1 eklenir.
                noktalar [i,0] = rand.NextDouble() * 19 + 1;
                noktalar [i,1] = rand.NextDouble() * 19 + 1;
            }


            for (int j=0; j<noktasayisi; j++)
            {
                Console.WriteLine("Nokta "+ (j+1).ToString() + "in x koordinatı:" + noktalar[j,0] + " " + "y koordinatı:" + noktalar[j,1]);
            }


            Console.WriteLine("Bir tuşa basınız...");
            Console.ReadKey();


            //1.soru B şıkkı:


            //Burada n x n lik bir uzaklık matrisi tanımlanmıştır.
            double[,] distmatrix = new double[noktasayisi,noktasayisi];




            for (int k=0; k<noktasayisi; k++)
            {
                for (int kx = 0; kx < noktasayisi; kx++)
                {
                    distmatrix[k, kx] = Uzaklik(noktalar[k, 0], noktalar[k, 1], noktalar[kx, 0], noktalar[kx, 1]);
                }
            }


            Console.WriteLine("Noktaların arasındaki uzaklıklar:");


            for (int q = 0; q<noktasayisi; q++)
            {
                for (int qx = 0; qx<noktasayisi; qx++)
                {
                    Console.WriteLine(q + " ile " + qx + " arasındaki uzaklık:" + distmatrix[q, qx]);
                }
            }


            


            Console.WriteLine("Bir tuşa basınız...");
            Console.ReadKey();


            RandomCoor(20);


            Console.ReadKey();




            
            
            


        }
        


        public static void minUzaklik(int noktasayisi2, double xxx1, double yyy1, double xxx2, double yyy2)
        {
            
            var rand3 = new Random();
            
            for (int qqq = 0; qqq < noktasayisi2; qqq++)
            {
                
            }
        }


        //Öklid uzaklığını hesaplayan fonksiyon.
        public static double Uzaklik(double x1, double y1, double x2, double y2)
        {
            return Math.Sqrt(((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));
        }


        //Random X ve Y koordinatları oluşturan metot.
        public static void RandomCoor(int noktasayisi2)
        {
            
            var rand2 = new Random();
            double[,] knn = new double[noktasayisi2, 2];


            for (int ax = 0; ax<noktasayisi2; ax++)
            {
                knn[ax, 0] = rand2.NextDouble() * 19 + 1;
                knn[ax,1] = rand2.NextDouble() * 19 + 1;
            }
            
            for (int qq = 0; qq<noktasayisi2; qq++)
            {
                Console.WriteLine("Nokta " + (qq+1).ToString() + " in " + "x koordinatı:" + knn[qq, 0].ToString() + " " + "y koordinatı:" + knn[qq,1].ToString());
            }


           
        }
        


    }
}


şöyle bir kodum var. randomcoor fonksiyonunda rastgele x ve y noktaları oluşturuyorum 2 boyutlu array içerisinde. bu oluşturduğum arraye minuzaklık fonksiyonunda erişmem lazım. nasıl yapabilirim?
T
9 ay
Yakışıklı olduğumu söylüyorlar ama kızlar bakmıyor
Beyler insanlar yakışıklı olduğumu söyler, hatta lisedeyken falan çok sevgilim de oldu. Ama üniversiteye geçtiğimde 1 tane kızla çıkmadım. Utangacım girişken değilim. Mekanlarda falan otururken kızlar hiç bakmıyor. Yolda yürürken de bakmıyorlar. Yada ben anlamıyorum bilmiyorum. Tipim ortalamanın üstü diyebilirim. Okulda erkekler dışında kimseyle aram yok. Mekanlarda falan nasıl kızlarla göz göze gelebilip devamını getirebilirim. Bir kıza çok fazla bakıp sapık gibi de davranmak istemiyorum. Mekandan düşürmeyeceksek nereden düşürecez aklıma başka bir şey gelmiyor.
T
9 ay
Hayatımı kendi ellerimle bitirdim ve son şansım
4 senedir üniversite okuyorum hala 2.sınıftayım.4 senede yapmadığım soytarılık kalmadı. Soytarılıktan kastım öyle serserilik falan değil. Bağımlılıklar diyelim. Bu sene son kez ailem bana şans tanıdı okumam için. Ben ise kendime biraz güvenemiyorum çünkü beynimin artık eskisi gibi çalıştığını düşünmüyorum. Xeplion(paliperidone palmitat) gibi ağır bir ilacı kullanıyorum. Prozac, buspon kullanıyorum. Dikkat eksikliği ve hiperaktivite bozukluğum var. Küçüklükten beri okulla aram iyi olmadı, hep kaçtım okuldan. Ama bir şekilde 2017 ygs lysde 40bine girdim ve fena olmayan bir yerde, günümüzün mesleği sayılabilecek bölümlerden birine girdim. Valla napcam bilmiyorum babam aradı bir sürü şey anlattı düşün taşın dedi çünkü maddi durumumuz da şu an iyi değil. Çabalamak istiyorum. Belki doğru bir psikiyatristte doğru tedavi ve ilaçlar sayesinde götürebilirim işi. Ama ben şu an nasıl bir haldeyim diye sorarsanız evin içinde dolaşıp duruyorum ve sürekli bir şeyler düşünüyorum. Eskiden pc başından kalkmazdım ama şimdi pc başına oturup bir şeyler yapamıyorum. Kitap okuyorum yüzde 50sini anlamıyorum. Günde 1 paketten fazla sigara içiyorum, kendime kıymayı düşünüyorum ama sonra ailem napar o aklıma geliyor. Cidden çok zor durumdayım.
T
9 ay
Dikkat eksikliği hiperaktivite bozukluğu
Dehb olan var mı aranızda ve concerta, ritalin kullanan? Yada Dehb olup da bu ilaçları kullanmadan dersine çalışabilen var mı çünkü ben bu ilaçlar olmadan hiçbir şey yapamıyorum
T
9 ay
Aranızda paliperidone palmitat(invega,xeplion) kullanan var mı?
Evet psikoz geçirdiğim için aylık xeplion iğne kullanıyorum yaklaşık 2 yıldır corona başladığından beri. Şu anlık iyiyim paranoyak değilim artık ama daha ne kadar kullanıcam bu iğneyi. Ben kendimde bir yan etkisi var mı bilmiyorum kilo alımı dışında. Sanki biraz iq seviyemi düşürmüş gibi hissediyorum ama internette bu antipsikotikleri kullananlar hep kötü yorum yapmış, hayatımı mahvetti diye. Aranızda kullanan varsa yorumlarını alabilir miyim? Benim için çok önemli.
T
9 ay
niye konu açamıyorum
şarkı yaptım onu paylaşıcam niye konuyu her açtığımda siliniyor
T
10 ay
Metin2 geliştiriciliği hakkında
Evet arkadaşlar metin2 geliştiriciliğine merak saldım server kurma files kodlama gibi şeyler var mesela server kurarken sanal makinaya freebsd işletim sistemi koyup ona da mysql falan yüklüyoruz mantık bu ama anlamadığım şey freebsd'de yazdığımız komutlar. Ben videoyu falan izliyorum adam komutları yazıyor ama o komutların mantığını anlamıyorum. Bu işlerden anlayan birisi varsa yardımcı olabilir mi internette pek fazla kaynakta bulamadım şimdiden teşekkürler.
T
10 ay
Sizin de aklınıza böyle saçma düşünceler geliyor mu?
Beyler mesela yolda yürüyorum karşıdan biri geliyor içimden küfredip dalga geçmeye başlıyorum yada mesela kendimle bi konuda iddaaya giriyorum eğer kazanamazsam kendime küfrediyorum bunun gibi bir sürü saçma düşünceler geliyor isteksiz bir biçimde kurtulamıyorum
T
11 ay
bu konuya geleni vuruyorum
trollüne yaptığım rap şarkı nasıl olmuş dinlemeden dislikeyi basmayın pls
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.