lostyazilim
tr.link

Dizide bulanan eleman yerlerini değiştirme ?

3 Mesajlar 6.555 Okunma
acebozum
tr.link

bsakizli bsakizli Bilgisayar Programcısı Kullanıcı
  • Üyelik 17.01.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yönetim Bilişim Sistemleri Uzm
  • Konum
  • Ad Soyad B** S**
  • Mesajlar 925
  • Beğeniler 102 / 79
  • Ticaret 2, (%100)
int a[] = {4,8,3,1,18,9,21,20,5,17};

soru şu; dizideki en küçük eleman ile dizinin ilk elemanının yerini değiştiren program evde ugrastim if vr for dongusu ile birde sizin fikrinizi alayim dedim ?


Simdiden cok tesekkur ederim
 

 

wmaraci
reklam

Batuhan Batuhan Kendine webmaster Kullanıcı
  • Üyelik 08.05.2011
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Ankara
  • Ad Soyad B** B**
  • Mesajlar 3455
  • Beğeniler 783 / 1009
  • Ticaret 1, (%100)
Doğru mu anladım bilmiyorum, dizideki en küçük elemanı bulmak, dizinin ilk elemanı ile en küçük elemanının yerlerini değiştirmek istiyorsun değil mi?


int[] a = {4,8,3,1,18,9,21,20,5,17};

int enk = 999;
int sira = 0;

for (int i = 0; i < a.Length; i++)
{
if (a[i] < enk)
{
enk = a[i];
sira = i;
}
}

a[sira] = a[0];
a[0] = enk;


Kısaca bahsetmek gerekirse öncelikle dizideki en küçük elemanı buluyoruz ve bunu enk değişkenine atıyoruz ve bunu yaparken sira değişkenine de o elemanın dizideki konumunu alıyorum. Son kısımda da dizinin ilk elemanını en küçüğün olduğu yere atıyorum ve en küçük elemanı 0. elemana yani dizinin ilk elemanına eşitliyorum

Ek Olarak: Tabii ben C# ile yazdım ancak mantığı anlatabildiğimi düşünüyorum.
 

 

bsakizli bsakizli Bilgisayar Programcısı Kullanıcı
  • Üyelik 17.01.2012
  • Yaş/Cinsiyet 29 / E
  • Meslek Yönetim Bilişim Sistemleri Uzm
  • Konum
  • Ad Soyad B** S**
  • Mesajlar 925
  • Beğeniler 102 / 79
  • Ticaret 2, (%100)
Hocam ekranda nasıl yazdıracaz peki

Yeni Diziliş: 1,8,3,4,18,9,21,20,5,17

çok teşekkürler bu arada :)

Ek Olarak:
class Sak{

public static void main (String args[]) throws Exception {

int[] a = {4,8,3,1,18,9,21,20,5,17};

int enkucuk, sira, size, i;

enkucuk = 999;
sira = 0;
size=10;

for (i = 0; i < size; i=i+1)
{
if (a[i] < enkucuk)
{
enkucuk = a[i];
sira = i;
}
}

a[sira] = a[0];
a[0] = enkucuk;


for (i = 0; i < size; i=i+1)
System.out.print(a[i] +" ");



}
}





Tamamdır teşekkür ettim ama en baştan öğrenmem gerek mantığı
Batuhan

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al