Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
442
Tıklama
0
Öne Çıkarma
C++ & data structures ödev yardım
S
12 yıl (21 mesaj)
Er
Konu Sahibi

5 dakikalık bir yardım lazım, olur mu eden? Dinamik bellek atamayla alakalı,




Fonksiyon:
void Filtre (int * X, int N, int ** A, int ** B,int * M, int * L);




İşlevi:
N sayısını ve X dizisini girdi olarak alır.X’deki sayıların ortalamasını hesaplayıp ekrana yazdıktan sonra, ortalamadan küçük olan X elemanlarını A dizisine, büyük veya eşit olanları B dizisine yerleştirir. A dizisinde M adet, B dizisinde L adet eleman olacaktır.(M ve L sayıları fonksiyon tarafından hesaplanır.Sonuçlar için M elemanlı A dizisi ve L elemanlı B dizisi dinamik bellek atama ile oluşturulur.)Sonuçlar A B dizileri, M L değişkenleri üzerinden döner.




Nasıl olacağına dair hiçbir fikrim yok :\

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





< Bu mesaj bu kişi tarafından değiştirildi syLvestr -- 12 Mart 2014; 17:31:10 >

K
12 yıl (14 mesaj)
Er

N girilen dizi uzunluğu galiba? Bir de A be B nin double-pointer olduğuna emin misin?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @syLvestr
K
12 yıl (14 mesaj)
Er

void Filtre (int * X, int N, int ** A, int ** B,int * M, int * L) { 

int mean = 0;
for (int i = 0 ; i < N ; i++) {
mean += X[i];
}

mean = mean / N;
cout << "ortalama: " << mean << endl;

(*M) = 0;
(*L) = 0;

for (int i = 0 ; i < N ; i++) {
if (X[i] < mean) {
*M += 1;
} else {
*L += 1;
}
}

*A = (int*) calloc(*M,sizeof(int));
*B = (int*) calloc(*L,sizeof(int));

int indexOnA = 0;
int indexOnB = 0;

for (int i = 0 ; i < N ; i++) {
if (X[i] < mean) {
A[0][indexOnA] = X[i];
indexOnA += 1;
} else {
B[0][indexOnB] = X[i];
indexOnB += 1;
}
}
}


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kazmanot
G
12 yıl (8718 mesaj)
Yarbay

Şimdi yazılan kodu al ve çalışıp çalışmadığını bile kontrol etmeden doğruca hocana götür. Kasılmayı da ihmal etme ama.

Ayrıca konu bellek yönetimi ama nedense alınan belleğin iadesi istenmemiş. Baştan ofsayt.



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.