DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
496
Tıklama
0
Öne Çıkarma
dev-c++ 5.7.0 da ARRAY PROBLEMİ
P
11 yıl (11 mesaj)
Er
Konu Sahibi

Arkadaşlar bilgisayarımdaki c++ 'ı güncelleyip dec-c++ 5.7.0 sürümünü kullanmaya başladığımda eski sürümde yazdığım bir programın yeni sürümde çalışmadığını fark ettim .

#include<iostream>
using namespace std;
int main(){

int card[0];

for(int a=1;a<=10;a++){
card[a]=a;
cout<<card[a]<<endl;}

return 0;
}

KOD yukarıdaki gibi
card[0] arrayinde bir problem var.
eski sürümde card[0] 'ı programa tanıttığım zaman istediğim kadar değeri card arrayine atayabiliyordum yukarıda 10 tane değer atamaya çalıştığım gibi .
şimdi aynısını yapmaya çalıştığımda "program.exe çalışmayı durdurdu" şeklinde bir kutu çıkıyor ve program çalışmıyor .
Bu problemi nasıl giderebilirim ?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
11 yıl (2043 mesaj)
Binbaşı

card dizisinie eleman atamak istiyorsan sadece dizinin bildirimini yap. Senin yaptığın sıfır elemanlı bir dizi tanımlamak. Visual Stdio da boyutunu belirlemeden dizi tanıtılabiliyor fakat DevC++ da bende beceremedim onu.

sen 10 elemanlı bir dizi oluşturmak istiyorsan int card[10]; yazmalısın.


Bu mesaja 1 cevap geldi.
P
11 yıl (11 mesaj)
Er
Konu Sahibi

peki kaç elemanlı bir dizi oluşturacağımı bilmiyorsam ne yapmalıyım ?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Sofiman
S
11 yıl (2043 mesaj)
Binbaşı

benim bildiğim; bir dizi bildirimi yaparken boyutunu mutlaka yazmamızdır. Ama bu bilgiden net emin değilim çünkü derste hocamızın int a[]; şeklinde bir satır yazdığını hatırlıyor gibiyim. Umarım biri gelip aydınlatır bizi.

Bu arada kaç elemanlı bir diziye ihtiyacın olduğunu net bir şekilde bilemiyorsan pointerları kullanabilirsin.Örneğin

int *p;

for(int i=0; i<10; ++i) {
*(p+i)=i; } gibi




Bu mesajda bahsedilenler: @pachanga1992
L
11 yıl (388 mesaj)
Yüzbaşı

bkz: dinamik bellek yönetimi

int* card = (int*)malloc(ELAMANSAYISI*sizeof(int));

// . . .

free(card);



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
11 yıl (11 mesaj)
Er
Konu Sahibi

Hocam en baştaki örnekte nasıl kullanabilirim bu yazdığınızı anlatabilir misiniz ? (visual C++ kullanarak daha kolay bir metod var mı ? )




Bu mesajda bahsedilenler: @lavara123
L
11 yıl (388 mesaj)
Yüzbaşı

link vermek yanlış olurmu bilmiyorum ama şurda anlatmıştım:

Ders 1
Ders 2
Ders 3*
Ders 4

bunları c++ üzerinden anlattım ama mantığı anlamak önemli ;)



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.