Giriş Yap Kayıt ol Online Üyeler Aktif Konular Arama Üyeler Forum Kuralları
Tahribat.Com | 2 Boyutlu Array‘leri Fonksiyonla Çağırma
Tahribat.Com Forumları
C - C++
      2 Boyutlu Array‘leri Fonksiyonla Çağırma
Bu Bölümde yeni konu açmak için tıklayınız. Konuyu cevaplamak için tıklayınız.
Konu 17 Temmuz 2013 (Çarsamba) 18:48 tarihinde açıldı. Kısayol | Alıntı yap | Özel Mesaj
afer
(Çömez)


Kayıt : 3 Nisan 2012
Erkek Üye
 

merhabalar, c++'ta kod yazıyorum. şöyle bir sorunum var. 2 boyutlu bir array'i fonksiyonla çağıracağım, şimdi array'in sütun bilgisine fonksiyon tanımında bi ihtiyaç var, fakat ben arrayin boyutunu sonradan kullanıcıdan alıyorum, fonksiyon tanımlama  işlemini nasıl gerçekleştiririm?

Örnekle açıklayacak olursak:

void fonksiyon(int array[][size], int size) //compiler buna izin vermiyor

{

  //fonksiyonun gövdesi

}

int main()

{

   int size;

   cout << "Array boyutunu giriniz:"; //

   cin >> size;

   int array[size][size] = {0}; //kare bir matris oluşturuyoruz.

   fonksiyon(array, size);

}


Çömezlikten çıkacağı günü bekliyor... 
17 Temmuz 2013 (Çarsamba) 18:57 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
splintercell


Kayıt : 28 Eylül 2008
Erkek Üye
 

işaretçi kullanman gerekiyor böyle bişeyi gerçekleştirmek için


 
17 Temmuz 2013 (Çarsamba) 18:59 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
DeadSoul


Kayıt : 12 Mayis 2012
Yalova
Erkek Üye
 

int array[size][size]; hatalı bir tanım, array boyutu sabit olmalı bunu dinamik bellek ayırma yöntemi ile yapabilirsiniz.


 
5 Agustos 2013 (Pazartesi) 00:27 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
uLtRaLoVeR


Kayıt : 25 Haziran 2007
Erkek Üye
 

int **matrix = new int [size][size] şeklinde oluştur array i

Fonksiyon parametresi olarak da int** ve size alarak yapabilirsin

Mantığı böyle de şuan kafam iyi değil yanlış yazmış olabilirim

5 Agustos 2013 (Pazartesi) Saat: 00:28 tarihinde uLtRaLoVeR tarafından düzenlenmiştir.

 
5 Agustos 2013 (Pazartesi) 03:26 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
DuPi


Kayıt : 21 Agustos 2005
Siirt
Erkek Üye
 

fonksiyon arrayx(int x,int y)

{

  int degisken[x][y];

}

 

böyle fonksiyonun dışından parametreyi girip fonksiyonun içinde arrayı oluşturmak sıkıntı yapar mı?


İlk Oyunum : https://play.google.com/store/apps/details?id=biz.bitirimiz.gerzekkus&hl=tr 
5 Agustos 2013 (Pazartesi) 10:50 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
kvasir


Kayıt : 24 Agustos 2005
Mürid Ağası
Erkek Üye
 

C++ bilmiyorum ama oluyorsa array içinde array oluşturabilirsin çözüm olarak. 2B oluşturursan direk boyutunu ister fakat

OrnekArray = ["1","2", new Array()]

gibi bir kullanımla eleman gibi array oluşturabilirsin bence sonradan, c++ izin verir mi bilmiyorum ama.


 
19 Agustos 2013 (Pazartesi) 13:33 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
uLtRaLoVeR


Kayıt : 25 Haziran 2007
Erkek Üye
 
DuPi bunu yazdı

fonksiyon arrayx(int x,int y)

{

  int degisken[x][y];

}

 

böyle fonksiyonun dışından parametreyi girip fonksiyonun içinde arrayı oluşturmak sıkıntı yapar mı?

ne amaçla kullanacağına bağlı eğer fonksiyonu çağırdığın yerdeki bir arrayin içindeki bilgiyi fonksiyon içerisinde kullanmak istiyorsan böyle yapamazsın. eğer fonksiyonda böyle oluşturup bunu dönmek istersen, fonksiyon bitince array silineceğinden seg-fault alırsın. Ama ben array'i oluşturacam kullanacam ama başka birşey dönecem diyorsan bunu yapabilirsin


 
19 Agustos 2013 (Pazartesi) 17:38 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
splintercell


Kayıt : 28 Eylül 2008
Erkek Üye
 

#include <iostream>

using namespace std;

void fonksiyon(int **array, int size)
{
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        cout<<array[i][j]<<" ";
        cout<<endl;
    }
}

int main()
{
   int size;
   cout << "Array boyutunu giriniz:"; //
   cin >> size;

   int **array=new int*[size];
   for(int i=0;i<size;i++)
    array[i]=new int[size];

    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        array[i][j]=size;
    }

   fonksiyon(array, size);

}

 

işaretçilerle ilgili örnek

19 Agustos 2013 (Pazartesi) Saat: 17:42 tarihinde splintercell tarafından düzenlenmiştir.

 
19 Agustos 2013 (Pazartesi) 18:34 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Fatih54


Kayıt : 16 Agustos 2012
Erkek Üye
 

Performans düşüklüğü önemli değilse string olarak tut şöyle ayır

"1.veri#2.veri"

sonra da strtok vb. ile # den ayırıp kullan.

Diğer türlü işaretçi ile olabilir.


Skype: f54102 / Web Sayfası: http://f54102.weebly.com 
19 Agustos 2013 (Pazartesi) 22:22 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
SinusX


Kayıt : 14 Aralik 2010
[-1,1]
Erkek Üye
 

malloc(sizeof(size)) gibi bişey yemiyor mu


Damnant quod non intelligunt... 
19 Agustos 2013 (Pazartesi) 22:36 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
sLeymN


Kayıt : 31 Mart 2008
Adana
Erkek Üye
 

int [] dizi; 

dizi = new int [size];

bu şekilde yapabilirsin herhalde. Önce tanımlayıp sonra initialize edebilirsin diye düşünüyorum. 

edit ayrıca neden öyle bir fonksiyon tanımı yapıyorsun ki ? 

int array[][size] ı parametre olarak gönderme işlemini hiç bir programlama dilinde yapamazsın. 

 


Cehennemin dibine kadar yolum var daha.. || Bu kadar kalabalık bir şehirde bu kadar az insanın olması oldukça şaşılası. 

[1]


Bu Bölümde yeni konu açmak için dıklayın Konuyu cevaplamak için tık...
Allah'a Havale Et Google Bookmark'a Ekle Yahoo'ya Ekle Stumbleupon''a Ekle Facebook'a Ekle Twitter'a Ekle   Google'da Ara : 2 boyutlu Array‘leri Fonksiyonla Çağırma Favorilerime Ekle Yukarı Çık
Konuda 11 Mesaj Var.
Konu 702 Sefer Gösterilmiş.