İçeriğe atla

Fotoğraf

C'de Büyükten Küçüğe Sıralama Nasıl Yapılır?yardım


  • Please log in to reply
2 replies to this topic

#1
ermeydan86

ermeydan86
  • Üye
  • 4 Mesaj sayısı:
Girilen on elemanlı diziyi nasıl büyükten küçüğe ekrana yazdırırım. Yardım Lütfen. Kodları verirseniz sevinirim..... thumbup1.gif

#2
Mimed

Mimed
  • Üye
  • 162 Mesaj sayısı:
#include <stdio.h>
int main(){
int i,j,temp;
for(i=0;i<10;i=i+1){
printf("Dizi için sayı giriniz\n");
scanf("%d",&array[i]);
}
int array[10];
/*
Sıralamanın mantığı şu iki for döngüsünde yatıyor bi incele
*/
for(i=0;i<10;i=i+1){
for(j=i+1;j<10;j=j+1){
if(array[i]<array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
return(0);
}
/*Kodu derlemedim hatalar olabilir*/

#3
qlluq

qlluq
  • Üye
  • 16 Mesaj sayısı:
10 12 3 45 5 7 gibi bi dizimiz olsun
ilk önce 10 ile 12 yi kontrol edersin..eger 10 12 den küçükse yer degiştirirsin..sonra ikinci elemana gecip 12 ile 3 ü karsılastırırsın..12 3 ten büyük oldugu için yer degistirirsin..dizimisin yeni hali
10 3 12 45 7 olur..şimdi de 12 ile 45 i kontrol edersin..12 45 ten küçük oldugu için bir degisme olmaz..yana gecip 45 ile 7 yi kontrol edersin 7 45 ten küçük oldugu için yer degistirme yaparsın ve dizimiz
10 3 12 7 45 halini alır..gördügün gibi dizideki en büyük elemanı en sona taşımış olduk..eger bunu her seferinde son elemandan bi önceki elemana kdr tekrarlar isen küçükten büyüge dogru bi sıralama yapmıs olursun..ikinci aşamasını yazacak olursak
10- 3 kıyaslaması yapılır ve 10 ile 3 yer degistirilir
3 10 12 7 45
10,12 kıyaslaması yapılır ve bir degisiklik olmaz
12-7 kıyaslaması yaparsan 12 ile 7 yer degistirir
3 10 7 12 45
dikkat edersen 45 e kdr baktık..işte her seferinde bulduun son sayıdan bi öncesine kdr kontrol ettireceksin

for(int hareket=0;hareket<n-1;hareket++){
for(int i=0;i<n-1-hareket;i++){
if(nums[i]>nums[i+1]) {
double gecici=nums[i+1];
nums[i+1]=nums[i];
nums[i]=gecici;
}

hareket dedigimiz sayı eleman sayısından bir küçük oluyor bu durumda..yani 10 elemanlı dizi için 9 kez yer degistirme olayına gireriz..kolay gelsin..kodu yazmak zor olmasa gerek bundan sonra..