Şimdi Ara

Nesne Dizilerini Tek Fonksiyon ile Nasıl Yazdırabilirim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
557
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 2 yıl
  • Cevaplayan Üyeler 4
  • Konu Sahibinin Yazdıkları 1
  • Ortalama Mesaj Aralığı 8 saat 18 dakika
  • Konuya En Çok Yazanlar
  • controller_ (2 mesaj) Guest-CB67E49D3 (2 mesaj) chnkyn (1 mesaj) halogonga (1 mesaj)
  • Konuya Yazanların Platform Dağılımı
  • Masaüstü (6 mesaj)
  • @
0 oy
Öne Çıkar
Giriş
Mesaj
  • İngilizcem yeterli olmadığı için yabancı kaynaklardaki açıklamalardan bir şey anlayamadım. Bir fonksiyon ile farklı türlerdeki üç diziyi nasıl yazdırabilirim?




    Nesne Dizilerini Tek Fonksiyon ile Nasıl Yazdırabilirim



    |
    |
  • c++ ta istiyorsun sanırım.yazdir metodunu generic yapabilirsin


    c# ta örnekliyrum.


    Kod

    Yığını:
            public static void yazdir<T>(T[] dizi)         {             foreach(var i in dizi)                 Console.Write(i+"\t");             Console.WriteLine();         }


    çağırmak için ise ;

    Kod

    Yığını:
                float[] d1 = { 1.1f, 2.2f, 3.3f };             char[] d2 = { 'a', 'b', 'c' };             int[] d3 = { 1, 2, 3 };             yazdir<float>(d1);             yazdir<char>(d2);             yazdir<int>(d3);
  • Amme hizmeti;


    Kod

    Yığını:
    #include <iostream> #include <vector> template <class T> class Dizi { public:     Dizi(std::initializer_list<T> il)     {         for (T t : il)             dizi.push_back(t);     }          void Yazdir()     {         for (T t : dizi)             std::cout << t << " ";         std::cout << std::endl;     }      private:     std::vector<T> dizi{}; }; int main() {    Dizi<int> intDizi = {1, 2, 3};    Dizi<float> floatDizi = {6.6, 7.7, 8.8};    Dizi<char> charDizi = {'a', 'b', 'c'};        intDizi.Yazdir();    floatDizi.Yazdir();    charDizi.Yazdir();        return 0; }




  • farklı tür dizi diye birşey kullanmana gerek yok floatdizi initdizi vs tarzı container'ları senin tanımlaman ekstrem bir senaryo. vector, array vs. gibi herhangi bir built-in container'ı istediğin data tipiyle kullan. iterator ile dolaş bitsin gitsin.

    @controller_ hocam bu arada yazdığın kod direkt vector container'ı kullanıyor zaten. türktelekom alt yapısı kullanan mehmetkom gibi olmuş Nesne Dizilerini Tek Fonksiyon ile Nasıl Yazdırabilirim 

  • Dostum o kadar yazı yazacağına keşke sende kendi çözümünü gönderseydin de millet faydalansaydı.

  • controller_ kullanıcısına yanıt

    Kod

    Yığını:
    #include <iostream> #include <vector> template <typename T> void yazdir(std::vector<T> vect)  {      for (auto& it : vect) {         std::cout << it << std::endl;     } } int main() {     std::vector<int> vectInt{ 10, 20, 30 };     std::vector<float> vectFloat{6.6, 7.7, 8.8};     std::vector<char> vectChar{'a', 'b', 'c'};     yazdir(vectInt);     yazdir(vectFloat);     yazdir(vectChar);     return 0; }

    o kadar yazı diyip geçme hocam nasıl yapılacağını anlatmışız işte. neyse eyvallah kodu da koyayım.

- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.