C programlama sorusu nasıl yapılır?

sivurant

Hectopat
Katılım
17 Kasım 2019
Mesajlar
1.840
Çözümler
1
Arkadaşlar soruda bir mantıksızlık var mı?
For döngülerini tam anlayamadım ve içindeki temp eşitliklerini, dizi eleman eşitliklerini.

C:
/*10 tam adetli bir dizinin elemanları.
klavyeden girilecek. Elemanlar büyükten küçüge.
sıralanacak.*/

#include<stdio.h>
main(){
 int sayi[10];
 int i=0,j,temp;
 while(i<10){
 printf("\nDizinin %d. Elemanini gir: ",i+1);
 scanf("%d",&sayi[i]);
 i++;}

 for(i=0;i<10;i++){
 for(j=i+1;j<10;j++){
 if(sayi[i]<sayi[j]){
 temp=sayi[i];
 sayi[i]=sayi[j];
 sayi[j]=temp;
 }
 }
 }
 printf("\nGirilen sayilarin büyukten kucuge sirlamasi\n");
 i=0;
 while(i<10){
 printf("\nsayi[%d]=%d",i,sayi[i]);
 i++;

 }
 return 0;
}
 

hamzaunsal

Hectopat
Katılım
29 Ocak 2018
Mesajlar
204
Çözümler
3
Her dilde klasik yapılan bir sıralama sorusu. Mantık hatası yok. Sadece i sayısını bir sayıda tutuyor, daha sonra j sayısı i'den büyük olduğu için i'ye j'yi atıyor ve en sonunda da j sayısına temp'te tuttuğu küçük sayıyı atıyor. İç içe for döngüsü kullanarak tüm değerleri tek tek if şartına sokuyor. Mantık bu.
 
KS
KS
sivurant

sivurant

Hectopat
Katılım
17 Kasım 2019
Mesajlar
1.840
Çözümler
1
Her dilde klasik yapılan bir sıralama sorusu. Mantık hatası yok. Sadece i sayısını bir sayıda tutuyor, daha sonra j sayısı i'den büyük olduğu için i'ye j'yi atıyor ve en sonunda da j sayısına temp'te tuttuğu küçük sayıyı atıyor. İç içe for döngüsü kullanarak tüm değerleri tek tek if şartına sokuyor. Mantık bu.
Kavramaya çalışıyorum sıkıntı olursa tekrar yardım isterim teşekkürler.
 
Yukarı