C programlama

Software_engineer

MB Üyesi
Kayıt
7 Nisan 2020
Mesajlar
9
Tepkiler
0
Yaş
23
Meslek
öğrenci
Üniv
ege üniversitesi
array dizisini bir adet pointer değişkenine ptr =array; olarak atama yapıp bubble sort sıralama algoritması kullanarak sıralama yaptırmaya çalıştım ama düşündüğü mü pek uygulayamadım yardımcı olabilir misiniz ???

ptr = array yapıp pointer üzerinden arrayi nasıl sıralicam
 

Dosyalar

Son düzenleme:

markup

MB Üyesi
Kayıt
21 Şubat 2016
Mesajlar
225
Tepkiler
44
Yaş
33
Meslek
Endüstri mühendisi
Üniv
Gazi Üniversitesi
#include <stdio.h>

const int MAX = 3;

int main () {

int var[] = {10, 100, 200};
int i;

for (i = 0; i < MAX; i++) {
printf("Value of var[%d] = %d\n", i, var );
}

return 0;
}
 
Konu sahibi
Konu sahibi
S

Software_engineer

MB Üyesi
Kayıt
7 Nisan 2020
Mesajlar
9
Tepkiler
0
Yaş
23
Meslek
öğrenci
Üniv
ege üniversitesi
kodu yazdım ama tam olarak istenilen şey bumu onu anlayamadım atama yaparken adres üzerinden değil referans değerler üzerinden yaptım buda değerleri değiştirdi bu konuda yardımcı olabilirmisin

#include<stdio.h>
#include<stdlib.h>
#define size 5
int main()
{
int array1[size],array2[size];
int temp;
int* ptr;
for (int i = 0; i < size; i++)
{
printf("%d. degeri giriniz: ", i);
scanf_s("%d", &array1);
array2 = array1;
}
ptr = array2;
for (int i = 1; i < size; i++)
{
for (int j = 0; j < size - i; j++)
{
if (*(ptr + j) > * (ptr + j + 1))
{
temp = (ptr + j);
(ptr + j) = (ptr + j + 1);
(ptr + j + 1) = temp;
}
}
}
printf("array1 : ");
for (int i = 0; i < size; i++)
{
printf("%d ", array1);
}

printf("\n");
printf("\npointer degiskeni ile siralanmis hali:\n");
for (int i = 0; i < size; i++)
{
printf("adres : %p -------- ", ptr);
printf("deger : %d \n", *ptr);
ptr++;
}

system("pause");
return 0;
}
 

markup

MB Üyesi
Kayıt
21 Şubat 2016
Mesajlar
225
Tepkiler
44
Yaş
33
Meslek
Endüstri mühendisi
Üniv
Gazi Üniversitesi
void sort(int n, int* ptr)
{
int i, j, t;

// Sort the numbers using pointers
for (i = 0; i < n; i++) {

for (j = i + 1; j < n; j++) {

if (*(ptr + j) < *(ptr + i)) {

t = *(ptr + i);
*(ptr + i) = *(ptr + j);
*(ptr + j) = t;
}
}
}

// print the numbers
for (i = 0; i < n; i++)
printf("%d ", *(ptr + i));
}

// Driver code
int main()
{
int n = 5;
int arr[] = { 0, 23, 14, 12, 9 };

sort(n, arr);

return 0;
}
 
Yukarı Alt