j döngüsünde size-1 yapmak, en büyük sayı son iki elemanda değilse yanlış sonuç veriyor. for(j = 1; j < size; j++) yapmak her koşulda doğru sonuca yönlendiriyor
Hocam rica etsem acilinden bellek yönetimini de anlatır mısınız ? Devasa bir proje ödevim var ve dinamik bellek yönetimi bilmemiz gerekiyor. Hocanın anlattığını anlamadım. Bunu da derse ekleyin Lütfen
arrayler pointer özelliğinde zaten. fonksiyondan en son bir değer return etmiyorsan void tanımlayabilirsin. fonksiyonu tanımlarken girdiğin int char vs. return edeceğin değişken tipini belirtiyor.
Atıyorum çok uzun bir kod vardır elimizde, kodun birkaç yerinde de bu sıralatma işlemi yapılıyor olsun. Her seferinde main() içine bunla ilgili kodları yazmaktansa veya kopyala yapıştır yapmaktansa kısaca fonksiyonla çağırmak tercih ediliyor.
NEDEN CALL BY VALUE GİBİ BİR ŞEY YOK ARRAYLARDE POİNTER KULLANMADIK AMA ARRAYIN YAPISI FONKSİYONDA DEĞİŞTİ BU ARRAYLARA ÖZEL BİR DURUM MU ? RETURN KULLANMADAN O FONKSİYONUN SONUCU KULLANDIK BU BUBBLE SORT A MI ÖZEL?
MAX 50 array in alabilebileceği maksimum eleman sayısıdır. Sen orda MAX 50 diyip size a da 51 girersen array yinede girdiğin ilk 50 elemanı kaydedecektir.
hocam 2. for döngüsünün içindeki size -1 size olması gerekmiyormu arrayın içindeki son sayıyı kontrol edemiyor gibi geldi o şekil bu arada anlatım çok güzel
bai ben bu kodu yazdım bir hata çıktı ama nedir bulamadım yardımcı olursan sevinirim #include #define MAX 50 int main(){ void bubbleshort(int arr[],int size){ int i,j; for(i=0;i
Ben de bubblesort'la acaba sayıları küçükten büyüğe sırayabilir miyim dedim ve bu kodu yazdım işe yaradı :) #include int bubblesort(int arr[], int size) { int i; int k; int j=1; int biggest = 0; int temporary; for (i=0;iarr[j]){ temporary = arr[j]; arr[j] = arr[i]; arr[i] = temporary; } j++; } biggest = arr[size-1]; arr[size-1] = 0; return biggest; } int main() { int arrayx[8] = {68,1,3,21,16,60,37,8}; int newarr[8]; int i; int k; for (i=7;i>=0;i--){ newarr[i] = bubblesort(arrayx,8); } for (k=0;k
finalden önceki gün videolara bakıp geçmeyi umuyorum...
20 gün tatil diyip 4 ay gelmeyene Mustafa hoca denir :)
Hahaha :)
Recursive fonksiyonları da sizden dinlemek isterdim hocam :) C derslerinizin içine neden koymadınız bir sebebi var mı?
j döngüsünde size-1 yapmak, en büyük sayı son iki elemanda değilse yanlış sonuç veriyor. for(j = 1; j < size; j++) yapmak her koşulda doğru sonuca yönlendiriyor
size - 1 değil size - i yazılmış
Hocam rica etsem acilinden bellek yönetimini de anlatır mısınız ? Devasa bir proje ödevim var ve dinamik bellek yönetimi bilmemiz gerekiyor. Hocanın anlattığını anlamadım. Bunu da derse ekleyin Lütfen
anlatim super, tesekkurler....(sonda ki ''neyse bu tatavayi gecelim" epey gulmeme neden oldu :))))
neden call by value gibi degil kendiliginden degerleri fonksiyondan aliyor cevap verirseniz sevinir cok kisi sormus
şuan call bay referance ile alıyor *arr ile arr[] aynı şey
Strand sort yapabilir misiniz? internette bu konu hakkında Türkçe kaynak neredeyse hiç yok
Bu kod nasıl çalıştı anlayamıyorum herhangi bir return ya da pointer göremiyorum. Birisi açıklayabilir mi?
sadece dizi adını yazınca parametre olarak pointer vermiş oluyorsun ve hatırlarsan mesela array[1] yapmak arrayin değerini veriyordu.
pointer kullanmadığı halde nasıl void değerleri değiştirebiliyo ?
arrayler pointer özelliğinde zaten. fonksiyondan en son bir değer return etmiyorsan void tanımlayabilirsin. fonksiyonu tanımlarken girdiğin int char vs. return edeceğin değişken tipini belirtiyor.
hocam sayılar bende adres olarak bastırıyor neden ?
ömer ateş Kodunu yazar misin ?
şimdi halletim hocam teşekkürler :)
@Çevik Çukurova printf(" %d",array[i]); en ondaki kodda &array[i] yazarsan adres belirtiyor.& isaretini silersen de sayilar siralaniyor.
bu yöntemle neden float ifadeler sıralanmıyor
Selamlar çok başarılı bir video olmuş teşekkürler. Anlamadığım kısım 2. for döngüsünde j
burdada call by value olmuyor mu? pointerla yapmak gerekmez mi
Cevabını buldun mu? Ben de orayı tam anlamadım.
arraylar kendiliginde pointer ozelligini tasiyor
i li for döngüsü size-1 e kadar gitmeyecek mi
hastebin.com/ubozosobux.pl
bence bu alternatifi daha sağlam yani i for u yerine böyle bir yol kullanmak
Kodu anlıyorum ama neden fonksiyon içine yazdığımızı anlamıyorum. int main'in içine de yazarak da sonuca ulaşabiliyoruz
başka değişkenler girildiğinde her defa aynı işlemi tekrarlamamak için diğer türlü dediğin doğru olur yaplabilir tabiki de.
Atıyorum çok uzun bir kod vardır elimizde, kodun birkaç yerinde de bu sıralatma işlemi yapılıyor olsun. Her seferinde main() içine bunla ilgili kodları yazmaktansa veya kopyala yapıştır yapmaktansa kısaca fonksiyonla çağırmak tercih ediliyor.
@@erenparladi5950 acemi dönemlerimde yazmışım bu yorumu :D
merhaba bu kodu fonksiyonsuz yazımına yardımcı olur musun ?
@@iremuzuncelebi fonksiyonun içindeki her şeyi verileri aldıktan sonra yaparsanız çalışır
Fonksiyon kısmında beynim yandı bir tık.
6 gelmedi hocam
kendim deneyerek buna baya yakın bi kod yazabildim. uğraşmasam anlamazdım kesinlikle
ben bu pointerların mantığını bir turlu anlamıyorum mal mıyım acaba
anladıysan bana da anlatsana
veya video falan bulduysan linkini atarsan sevinirim
evet malım tuba
@@efe3547 shjdzgfsdhjgbdfdhg
@@efe3547 ASDASASASDWAS
return nedir
NEDEN CALL BY VALUE GİBİ BİR ŞEY YOK ARRAYLARDE POİNTER KULLANMADIK AMA ARRAYIN YAPISI FONKSİYONDA DEĞİŞTİ BU ARRAYLARA ÖZEL BİR DURUM MU ? RETURN KULLANMADAN O FONKSİYONUN SONUCU KULLANDIK BU BUBBLE SORT A MI ÖZEL?
caps açık kalmış kanka
Biraz erken yanıtlamışsın :DDDD@@metehansert647
@@muhliscolak7296 2 yıl olmuş la emmioğlu
sen de :DDDD @@muhliscolak7296
hocam sanki uzun bir tatil olmuş (ʘ ͜ʖ ʘ)
hocam çok güzel anlatıyosunuz Allah razı olsun
teşekkürler hocam
#define MAX 50 yi anlamadım hocam bunu nerde kullandık
MAX 50 array in alabilebileceği maksimum eleman sayısıdır. Sen orda MAX 50 diyip size a da 51 girersen array yinede girdiğin ilk 50 elemanı kaydedecektir.
sonu 0 la biten rakamlari gostermiyor sanirim
hocam 2. for döngüsünün içindeki size -1 size olması gerekmiyormu arrayın içindeki son sayıyı kontrol edemiyor gibi geldi o şekil bu arada anlatım çok güzel
zaten 1'er 1'er arttırdığı için i'yi -1 yazmakla -i yazmak arasında fark yok
son eleman zaten en büyük olduğu için onu kontrol etmeye gerek yok. Vakit ve işlem tasarrufu sağlıyor.
İşte bu zorladı
hocam bu bubble sort visual studiodan yapılıyor mu
int array max,size nasıl yazıldı anlamadım ve de max 50 nin ne faydası oldu
olmadi sanirim gormus olmamiz icin yazdi 1 yil gecmis buyuk ihtimalle bunu anladin ama nolur nolmaz belki anlamamissindir
#include
#include
int main () {
int i,eleman,j;
printf("Ne kadar sayi gireceksiniz:");
scanf("%d",&eleman);
int dizi[eleman];
for (i=0;i
Burada mesela en sona kadar sayıları yine kontrol ediyor bunu azaltabilirim istersem ama bana bir performans kazanımı sağlarmı onu bilmiyorum.
teşekkürler
03/11/2023 den selamlar
bai ben bu kodu yazdım bir hata çıktı ama nedir bulamadım yardımcı olursan sevinirim
#include
#define MAX 50
int main(){
void bubbleshort(int arr[],int size){
int i,j;
for(i=0;i
j-1 değil j-i olucak for döngüsünün içindeki hata orda
#include
#define MAX 50
void bubbleshort(int arr[],int size){
int i,j;
for(i=0;i
ancak bu kadar kötü anlatılabilirdi
Dün 5 sayıyı sıralayan bir kod nasıl yazılır diye düşündüm.Bu videoda varmış yanıtı :).Benden anca bu çıktı.:
#include
void sirala(int p[],int uzunluk){
int z=0,x=0,c=0,v=0,b=0,a,i;
int *yedek = p;
int sirali[5];
for (a=0;a yedek[a]){
z++;
}
if (p[1] > yedek[a]){
x++;
}
if (p[2] > yedek[a]){
c++;
}
if (p[3] > yedek[a]){
v++;
}
if (p[4] > yedek[a]){
b++;
}
}
sirali[z] = p[0];
sirali[x] = p[1];
sirali[c] = p[2];
sirali[v] = p[3];
sirali[b] = p[4];
for (i=0;i
Ben de bubblesort'la acaba sayıları küçükten büyüğe sırayabilir miyim dedim ve bu kodu yazdım işe yaradı :)
#include
int bubblesort(int arr[], int size) {
int i;
int k;
int j=1;
int biggest = 0;
int temporary;
for (i=0;iarr[j]){
temporary = arr[j];
arr[j] = arr[i];
arr[i] = temporary;
}
j++;
}
biggest = arr[size-1];
arr[size-1] = 0;
return biggest;
}
int main() {
int arrayx[8] = {68,1,3,21,16,60,37,8};
int newarr[8];
int i;
int k;
for (i=7;i>=0;i--){
newarr[i] = bubblesort(arrayx,8);
}
for (k=0;k
Çok zor ya
aevaevaev