C++ ile programlama

ogren.css

Centipat
Katılım
20 Ekim 2019
Mesajlar
108
Merhaba. C++ ile bu iki dizideki aynı elemanları bulan ve sayısını ekrana yazdıran programı yapmaya çalışıyorum fakat sayıyı hep 0 veriyor. Yardımcı olabilecek arkadaşlar var mı ?

55, -90, -65, 10, 99
10, -65, 11, 33, 55
 
Son düzenleyen: Moderatör:
#include <iostream>
using namespace std;
class A
{

};
class B :virtual public A
{

};
class C :virtual public B
{
int sayac = 0;
public:
C(int dizi1[], int dizi2[])
{
int i, j;
int minsayi;
for (i = 0; i < 5; i++)
{
minsayi = i;
for (j = i; j < 5; j++)
{
if (dizi1[j] < dizi1[minsayi])
{
minsayi = j;
}
}
int degistir = dizi1;
dizi1 = dizi1[minsayi];
dizi1[minsayi] = degistir;
}
for (i = 0; i < 5; i++)
{
minsayi = i;
for (j = i; j < 5; j++)
{
if (dizi2[j] < dizi2[minsayi])
{
minsayi = j;
}
}
int degistir = dizi2;
dizi2 = dizi2[minsayi];
dizi2[minsayi] = degistir;
}
for (i = 0; i < 5; i++)
{
cout << "Dizi 1: " << dizi1 << " Dizi 2: " << dizi2 << endl;
if (dizi1 == dizi2)
{
sayac++;
}
}
}
int karsilastir()
{
return sayac;
}
};
class D :virtual public B, C
{

};
void main()
{
int dizi1[] = { 55, -90, -65, 10, 99 };
int dizi2[] = { 10, -65, 11, 33, 55 };
C n1(dizi1, dizi2);
cout << "Ayni Eleman Sayisi: " << n1.karsilastir() << endl;
}
 
2 Tane random oluşturalım. 0'dan 4E kadar olan sayıları random seçsin. A ve B olsun. Array oluşturalım
İlk array dizisinin adı ilkarray 55,-90,-65, 10, 99 ikincisinin adı ikinciarray 10,-65, 11, 33, 55 olsun. While döngüsü açalım.
While(ilkarray[a] == ikinciarray){
İf(ilkarray[a] == ikinciarray){
Cout ilkarray[a] + ikinciarray
}
}
Bende 1-2 aydır Java öğreniyorum ona göre yaptım biraz.
Tam doğru bir şey olmadı sanki ama işini görür belki.
 
Hoca ödevde iç içe sınıf kullanmamızı istedi. O yüzden bu kadar sınıf kullandım😀
2 Tane random oluşturalım. 0'dan 4E kadar olan sayıları random seçsin. A ve B olsun. Array oluşturalım
İlk array dizisinin adı ilkarray 55,-90,-65, 10, 99 ikincisinin adı ikinciarray 10,-65, 11, 33, 55 olsun. While döngüsü açalım.
While(ilkarray[a] == ikinciarray){
İf(ilkarray[a] == ikinciarray){
Cout ilkarray[a] + ikinciarray
}
}
Bende 1-2 aydır Java öğreniyorum ona göre yaptım biraz.
Tam doğru bir şey olmadı sanki ama işini görür belki.
Cevabınız için teşekkürler ama "Cout ilkarray[a] + ikinciarray" kısmında hata veriyor. Diziyi direk yazdığım zaman hata veriyor. Yani "ilkarray[a]" kısmında bir sıkıntı yok. ama ikinci kısım hatalı.
 
C++:
#include <iostream>

using namespace std;

int main()
{
    int grup1[] = {55, -90, -65, 10, 99};
    int grup2[] = {10, -65, 11, 33, 55};
    
    for(int &sayi1 : grup1)
    {
        for (int &sayi2 : grup2)
        {
            if (sayi1 == sayi2)
            {
                cout << sayi1 << endl;
                break;
            }
        }
    }
    
    return 0;
}
 
C++:
#include <iostream>

using namespace std;

int main()
{
    int grup1[] = {55, -90, -65, 10, 99};
    int grup2[] = {10, -65, 11, 33, 55};
   
    for(int &sayi1 : grup1)
    {
        for (int &sayi2 : grup2)
        {
            if (sayi1 == sayi2)
            {
                cout << sayi1 << endl;
                break;
            }
        }
    }
   
    return 0;
}
Çok çok teşekkür ederim. Valla çok yardımcı oldunuz.
 
Hoca ödevde iç içe sınıf kullanmamızı istedi. O yüzden bu kadar sınıf kullandım😀

Cevabınız için teşekkürler ama "Cout ilkarray[a] + ikinciarray" kısmında hata veriyor. Diziyi direk yazdığım zaman hata veriyor. Yani "ilkarray[a]" kısmında bir sıkıntı yok. ama ikinci kısım hatalı.
ikinciarray olacaktı yanlış yazmışım.
 
Çok çok teşekkür ederim. Valla çok yardımcı oldunuz.
Rica ederim ama şunu belirtmeliyim ki kodda küçük bir bug var. Aynı sayıdan birinci grupta birden fazla varsa onu dışarıya birden fazla kez çıktı verecektir. Ekstra kod eklenerek çözülebilir.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı