none
Dizi işlemi RRS feed

  • Soru

  • Adana[]={1,2,3,4}; Bursa[]={};

    Adana dizisinde ki bir eleman diğer elemanlarla çarpılacak ve Bursa dizisine atanacak...

    Bursa[0]= Adana[1]*Adana[2]*Adana[3]
    2*3*4=24

    Bursa[1]=Adana[0]*Adana[2]*Adana[3]
    1*3*4=12

    Bursa[2]=Adana[0]*Adana[1]*Adana[3]
    1*2*4=8

    Bursa[3]=Adana[0]*Adana[1]*Adana[2]
    1*2*3=6

    Yeni Dizi aşağıdaki şekilde olacak

    Bursa[]={24,12,8,6}

    Cevap; şeklinde denedim ama 0,0,0 sonucu veriyor...Fonksiyonu nasıl yazabilirim...

    for(int Bdizi=0; Bdizi<4; Bdizi++)
    {
    for(int Adizi=0; Adizi<Bdizi; Adizi++)
    {
    Bursa[Bdizi]*=(Adana[Adizi]-Adana[Bdizi]);
    }
    }






    • Düzenleyen Sofwarer 22 Aralık 2016 Perşembe 15:58
    22 Aralık 2016 Perşembe 15:38

Yanıtlar

  • Bitis noktasi yanlis.

    Bursa dizisinin elemanlarinin baslangic degeri 1 olmali.

    Carpim diyorsun ama tamamen alakasiz bir islem yapiyorsun.

    ADizi == BDizi kontrolu yapmadan tum elemanlar icin isliyorsun.

    for (int Bdizi = 0; Bdizi < Adana.Length; Bdizi++)
    {
    	Bursa[Bdizi] = 1;
    	for (int Adizi = 0; Adizi < Adana.Length; Adizi++)
    	{
    		if (Adizi != Bdizi)
    		{
    			Bursa[Bdizi] *= Adana[Adizi];
    		}
    	}
    }
    

    • Yanıt Olarak İşaretleyen Sofwarer 22 Aralık 2016 Perşembe 16:58
    22 Aralık 2016 Perşembe 16:00
    Yanıtlayıcı
  • Ben kodun oraya kadar olan kismini yazdigini dusunmustum :( Neyse burada tamami var (using ... kismi haric):

    void Main()
    {
    	int[] Adana = { 1, 2, 3, 4 };
    	int[] Bursa = new int[Adana.Length];
    
    	for (int Bdizi = 0; Bdizi < Adana.Length; Bdizi++)
    	{
    		Bursa[Bdizi] = 1;
    		for (int Adizi = 0; Adizi < Adana.Length; Adizi++)
    		{
    			if (Adizi != Bdizi)
    			{
    				Bursa[Bdizi] *= Adana[Adizi];
    			}
    		}
    	}
    
    	// Goster
    	for (int i = 0; i < Bursa.Length; i++)
    	{
    		Console.WriteLine(Bursa[i]);
    	}
    }

     
    • Yanıt Olarak İşaretleyen Sofwarer 22 Aralık 2016 Perşembe 16:58
    22 Aralık 2016 Perşembe 16:47
    Yanıtlayıcı

Tüm Yanıtlar

  • Bitis noktasi yanlis.

    Bursa dizisinin elemanlarinin baslangic degeri 1 olmali.

    Carpim diyorsun ama tamamen alakasiz bir islem yapiyorsun.

    ADizi == BDizi kontrolu yapmadan tum elemanlar icin isliyorsun.

    for (int Bdizi = 0; Bdizi < Adana.Length; Bdizi++)
    {
    	Bursa[Bdizi] = 1;
    	for (int Adizi = 0; Adizi < Adana.Length; Adizi++)
    	{
    		if (Adizi != Bdizi)
    		{
    			Bursa[Bdizi] *= Adana[Adizi];
    		}
    	}
    }
    

    • Yanıt Olarak İşaretleyen Sofwarer 22 Aralık 2016 Perşembe 16:58
    22 Aralık 2016 Perşembe 16:00
    Yanıtlayıcı
  • Dönüt için teşekkür ederim hocam fakat;

    Bursa[Bdizi] = 1;

    Dizin, dizi sınırlarının dışındaydı. hatası veriyor.

    22 Aralık 2016 Perşembe 16:41
  • Ben kodun oraya kadar olan kismini yazdigini dusunmustum :( Neyse burada tamami var (using ... kismi haric):

    void Main()
    {
    	int[] Adana = { 1, 2, 3, 4 };
    	int[] Bursa = new int[Adana.Length];
    
    	for (int Bdizi = 0; Bdizi < Adana.Length; Bdizi++)
    	{
    		Bursa[Bdizi] = 1;
    		for (int Adizi = 0; Adizi < Adana.Length; Adizi++)
    		{
    			if (Adizi != Bdizi)
    			{
    				Bursa[Bdizi] *= Adana[Adizi];
    			}
    		}
    	}
    
    	// Goster
    	for (int i = 0; i < Bursa.Length; i++)
    	{
    		Console.WriteLine(Bursa[i]);
    	}
    }

     
    • Yanıt Olarak İşaretleyen Sofwarer 22 Aralık 2016 Perşembe 16:58
    22 Aralık 2016 Perşembe 16:47
    Yanıtlayıcı