Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
1905
Tıklama
0
Öne Çıkarma
c de sıralama fonksiyonu...
H
20 yıl
Er
Konu Sahibi

ya c de nasıl kısa bir sıralama fonksiyonu yazabilirim (kucukten buyuge) aklım durdu...



M
20 yıl
Teğmen

iki tane iç içe for loop u kullanarak yapabilirsin



İ
20 yıl
Teğmen

#include <stdio.h>
#include <conio.h>
void main(){

int i,j,num;
int numbers[10]={5,8,6,7,2,19,12,35,95,1};

for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{

if(numbers>numbers[j]){
num=numbers;
numbers=numbers[j];
numbers[j]=num;}
}

}
for(i=0;i<10;i++)
printf("%d ",numbers);
getch();
}




Az once yazdim calisiyor gibi bir de sen bak istersen.


Bu mesaja 1 cevap geldi.
M
20 yıl
Teğmen

quote:

Orjinalden alıntı: incesaz

#include <stdio.h>
#include <conio.h>
void main(){

int i,j,num;
int numbers[10]={5,8,6,7,2,19,12,35,95,1};

for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{

if(numbers>numbers[j]){
num=numbers;
numbers=numbers[j];
numbers[j]=num;}
}

}
for(i=0;i<10;i++)
printf("%d ",numbers);
getch();
}




Az once yazdim calisiyor gibi bir de sen bak istersen.






arkadaşım yazdığın kodlarda hatalar var





< Bu mesaj bu kişi tarafından değiştirildi Mr.NeVeRMaN -- 24 Mayıs 2005, 0:01:39 >
Bu mesaja 1 cevap geldi.
D
20 yıl
Yüzbaşı

bubble sort:
 
for (i=0; i<n-1; i++) {
for (j=0; j<n-1-i; j++)
if (a[j+1] < a[j]) {
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}


Bu mesaja 1 cevap geldi.
D
20 yıl
Yüzbaşı

 
/* Insertion sort for integers */

void insertion( int a[], int n ) {
/* Pre-condition: a contains n items to be sorted */
int i, j, v;
/* Initially, the first item is considered 'sorted' */
/* i divides a into a sorted region, x<i, and an
unsorted one, x >= i */
for(i=1;i<n;i++) {
/* Select the item at the beginning of the
as yet unsorted section */
v = a[i];
/* Work backwards through the array, finding where v
should go */
j = i;
/* If this element is greater than v,
move it up one */
while ( a[j-1] > v ) {
a[j] = a[j-1]; j = j-1;
if ( j <= 0 ) break;
}
/* Stopped when a[j-1] <= v, so put v at position j */
a[j] = v;
}
}


selection sort

 
void selectionSort(int numbers[], int array_size)
{
int i, j;
int min, temp;

for (i = 0; i < array_size-1; i++)
{
min = i;
for (j = i+1; j < array_size; j++)
{
if (numbers[j] < numbers[min])
min = j;
}
temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
}


quick sort:

 
void quickSort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size - 1);
}


void q_sort(int numbers[], int left, int right)
{
int pivot, l_hold, r_hold;

l_hold = left;
r_hold = right;
pivot = numbers[left];
while (left < right)
{
while ((numbers[right] >= pivot) && (left < right))
right--;
if (left != right)
{
numbers[left] = numbers[right];
left++;
}
while ((numbers[left] <= pivot) && (left < right))
left++;
if (left != right)
{
numbers[right] = numbers[left];
right--;
}
}
numbers[left] = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if (left < pivot)
q_sort(numbers, left, pivot-1);
if (right > pivot)
q_sort(numbers, pivot+1, right);
}


kaynak:google



İ
20 yıl
Teğmen

#include <stdio.h>
#include <conio.h>
void main(){

int k,j,num;
int numbers[10]={5,8,6,7,2,19,12,35,95,1};

for(k=0;k<10;k++)
{
for(j=k+1;j<10;j++)
{

if(numbers[k]>numbers[j]){
num=numbers[k];
numbers[k]=numbers[j];
numbers[j]=num;}
}

}
for(k=0;k<10;k++)
printf("%d ",numbers[k]);
getch();
}

Hata yoktu ama copy paste yaparken tahminimce bu portalin yazilim hatasindan kaynaklaniyor,numbers[] lari numbers olarak almis.Tekrar duzelttim onlari,daha once test ettim,zaten cok basit bir kod,dikkatli bakilsaydi hemen anlasilirdi zaten sorunun ne oldugu.Bir de hitap ederken arkadasim,dostum vs. gibi hitaplar pek hos olmuyor cunku tanimadigim etmedigim insanlarin nerden ve nasil arkadasi oluyorum anlamiyorum,en azindan bir hitap olucaksa nikle hitap edilmeli bence,kisisel gorusum bu benim,saygi duyulmasini rica ederim,herkese kolay gelsin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.