Arkadaşlar bi kaç tane sorum olacaktı sizlere.... çok boyutlu diziler kullanarak ögrenci ad soyad numara vize final ve ortalama hesaplarını yaptırdım....
ad:array [0..10] of array [0..10] of array [0..10]of string;
vf:array[0..10] of array[0..10] of integer ;
ortalama: array [1..10] of double;
bu şekilde dizileri tanımladım....
begin
for a:= 1 to 10 do
begin
ad[a,0,0]:= inputbox('Ögrenci','Adı','');
ad[0,a,0]:= inputbox('Ögrenci','Soyadı','');
ad[0,0,a]:= inputbox('Ögrenci','Numarası','');
vf[a,0] :=strtoint(inputbox('Ögrenci','Vize',''));
if not (vf[a,0]<0) and (vf[a,0]>100) then
begin
showmessage('Lütfen Notu kontrol ediniz');
vf[a,0] :=strtoint(inputbox('Ögrenci','Vize',''));
end;
vf[0,a] :=strtoint(inputbox('Ögrenci','Final',''));
if not (vf[0,a]<0) and (vf[0,a]>100)then
begin
showmessage('Lütfen Notu kontrol ediniz');
vf[0,a] :=strtoint(inputbox('Ögrenci','Final',''));
end;
ortalama[a]:=trunc((vf[a,0]*0.4)+(vf[0,a]*0.6));
end;
Buradada dizilere veri girişini ve ortalama hesaplamasını yaptırdım....
Ama burdan sonra ortalamanın büyük küçük durumuna göre büyükten küçüge sıralama yapmam gerekiyor ve çok boyutlu dizide bunu nasıl yapıcagımı bilmiyorum yardımcı olursanız çok sevinirim...
Çok boyutlu dizilerde sıralama sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Çok boyutlu dizilerde sıralama sorunu
Döngüler içinde yapmanız gerekiyor. Delphi'nin demo klasöründe thread örneğinde 3 tür sıralama algoritması verilmiş. Verilerinizin array olması birşey değiştirmez, uyarlayabilirsiniz.
Re: Çok boyutlu dizilerde sıralama sorunu
Zaten array lerde TList gibi otomatik sıralama olmadığı için çok boyutlu tek boyutlu fark etmez.Sıralamayı kendin yaptıracaksın. Bubble Sort, Quick Sort, Selection Sort algoritmalarından birini kullanabilirsin. Arama yaptırırsan bu forumda herşeyi bulabilirsin.




Re: Çok boyutlu dizilerde sıralama sorunu
sağolun ilgilendiginiz için ama ben o sıralama yöntemlerine baktım çok bişy anlamadım....
ad dizisine girilen verileri tek boyutlu bir diziye aktardım şu komutla...
sonuc[a]:=(ad[a,0,0]+' '+ad[0,a,0]+' '+ad[0,0,a]) ;
daha sonra şu blokla kontrol ve değişim yaptım ama 3 den fazla veri girdigimde en sorun çıktı 2 tane veride sorun yok çalışıyor ama fazlasında problem oluyor nerde eksik yaptım bilmiyorum...
for b := 1 to 9 do
begin
if ortalama<ortalama[b+1] then
begin
deger:= ortalama;
ortalama:= ortalama[b+1];
ortalama[b+1]:=deger;
c:=sonuc;
sonuc:=sonuc[b+1];
sonuc[b+1]:=c;
end;
end;
ad dizisine girilen verileri tek boyutlu bir diziye aktardım şu komutla...
sonuc[a]:=(ad[a,0,0]+' '+ad[0,a,0]+' '+ad[0,0,a]) ;
daha sonra şu blokla kontrol ve değişim yaptım ama 3 den fazla veri girdigimde en sorun çıktı 2 tane veride sorun yok çalışıyor ama fazlasında problem oluyor nerde eksik yaptım bilmiyorum...
for b := 1 to 9 do
begin
if ortalama<ortalama[b+1] then
begin
deger:= ortalama;
ortalama:= ortalama[b+1];
ortalama[b+1]:=deger;
c:=sonuc;
sonuc:=sonuc[b+1];
sonuc[b+1]:=c;
end;
end;
Re: Çok boyutlu dizilerde sıralama sorunu
sağolun arkadaşlar ben çözdüm sorunu... İhtiyacı olan arkadaşlar olursa iletirim kendilerine...
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Çok boyutlu dizilerde sıralama sorunu
sorunu çözdüm yerine sorunun çözümünü yazsaydın daha iyi olurdu en azından böylece herkez bilginden faydalanmış olurdu.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Re: Çok boyutlu dizilerde sıralama sorunu
İnanıyorum, bir gün tüm programlama bölümü öğrencileri record kullanımını benimseyecek... Her bir alan için dizilerle ne diye uğraşıp duruyorsun ki? Öğrenci başlığı altında alanlarını gruplayıp ilgili bir record tanımı yaptıktan sonra, öğrencilerin kendisini ( yani record'ları ) bir diziye alarak, daha sonra çok basitçe bubble sort'u o diziye uygulayarak sıralama işlemini tamamlamış olursun...
( bubble sort içindeki kontrol şartını "record"."vize-şu-bu-her neyse" olarak düzenleyerek )
( bubble sort içindeki swapping işlemini recordlar ile yapman gerek, daha basitçe nasıl açıklayabilirim bilemiyorum... )
( bubble sort içindeki kontrol şartını "record"."vize-şu-bu-her neyse" olarak düzenleyerek )
( bubble sort içindeki swapping işlemini recordlar ile yapman gerek, daha basitçe nasıl açıklayabilirim bilemiyorum... )