2 boyutlu diziyi ikinci boyuta göre sıralama - sayfa 2

 

Hey Gordon, uyarın için teşekkürler, bu kodu okurken, en büyük kaybeden ticareti bulmak için sepette dolaşan bir kod parçacığım olduğunu hatırlattım. en büyük kazanan, kazanan kaybedenden daha büyük, o zaman her birini kapatabilirim. Bu ihtiyacım olan şey için işe yarayacak. Bazen, sadece üzerinde uyumak, hepsinin en iyi kod üreticisidir. Vur, muhtemelen bunu bir gecede kodlayabilirim. Pek bir değişiklik yok. Hepsini aynı anda kapatmak zorunda değilim. İlk seferde geçiyoruz, sonra bir sonraki tik veya mumda tekrar üzerinden geçebiliriz veya daha önce bahsettiğim gibi, aynı anda ateşleyen başka bir özelliğim var, bunun gibi bir şey kullanışlı olurdu. Ben sadece bu özellik kodlamasına gömebilirim.

Göz açıcı Gordon için teşekkürler.

 

Dizileri fiyata göre sıralamak istiyorsanız, neden fiyatı ilk boyuta ve bileti ikinci boyuta yüklemiyorsunuz...... o zaman normal şekilde sıralayabilirsiniz.

 

Evet bu zaten düşünülmüştü. Ardından, diğer şekilde sıralamak için verileri ters çevrilmiş düzenlemede başka bir diziye kopyalayın. Yapmaya karar verdiğim şey çok daha basitti ve aslında ihtiyaçlarıma çok daha iyi uyuyordu. Temel olarak açık işlemler arasında dolaşırım ve en büyük kazanandan daha az olan en büyük kazananı ve en büyük kaybedeni bulurum, sonra ikisini de kapatırım. Bir sonraki kene veya mumda işlemi tekrarlar. Gayet iyi çıktı.

 
gordon :

Nasıl adlandırmak isterseniz isteyin, 2B dizideki ilk boyut dizi_adı[0,1,...,n][0] vektörüdür, yani teknik olarak ilk parantez birinci boyutu tutar; bu aynı zamanda ArraySort() tarafından sıralanacak vektördür. Kitaptan:

ArraySort() konusunda olduğumuz sürece, zaman içinde bulduğum 2 belgesiz özellikten bahsedeceğim (ve biri beni onaylarsa veya düzeltirse sevinirim...?):

  1. Birinci boyuttaki öğelerden bazıları aynıysa, sıralarını korumaları gerekmez. Açıkçası, bu 'tasarım gereği' ise belgelenmelidir, aksi takdirde bunun bir 'hata' olduğunu düşünürdüm.
  2. OrderSort(), 4B dizilerle çalışmaz (4053 hatası döndürür). Yine, bunun belgelenmesi gerekiyor ama değil.
Gecikmiş yanıt için özür dilerim arkadaşlar.. Yoluma çok şey çıktı.. Sizi temin ederim ki yanıtlarınız için çok minnettarım.
FWIW bunlar benim yanıtlarım ('spam' modunda :( ):
- 1D dizilerde hiçbir soru ortaya çıkmaz. 2B, 3B, 4B dizilerde en soldaki parantez çifti her zaman ilk boyuttur , bu doğru Gordon mu?
 
cameofx :
- 1D dizilerde hiçbir soru ortaya çıkmaz. 2B, 3B, 4B dizilerde en soldaki parantez çifti her zaman ilk boyuttur , bu doğru Gordon mu?

Evet.

 
gordon :

Nasıl adlandırmak isterseniz isteyin, 2B dizideki ilk boyut dizi_adı[0,1,...,n][0] vektörüdür, yani teknik olarak ilk parantez birinci boyutu tutar; bu aynı zamanda ArraySort() tarafından sıralanacak vektördür. Kitaptan:

ArraySort() konusunda olduğumuz sürece, zaman içinde bulduğum 2 belgesiz özellikten bahsedeceğim (ve biri beni onaylarsa veya düzeltirse sevinirim...?):

  1. Birinci boyuttaki öğelerden bazıları aynıysa, sıralarını korumaları gerekmez. Açıkçası, bu 'tasarım gereği' ise belgelenmelidir, aksi takdirde bunun bir 'hata' olduğunu düşünürdüm.
  2. OrderSort(), 4B dizilerle çalışmaz (4053 hatası döndürür). Yine, bunun belgelenmesi gerekiyor ama değil.
Gecikmiş yanıt için özür dilerim arkadaşlar.. Yoluma çok şey çıktı.. Sizi temin ederim ki yanıtlarınız için çok minnettarım.
FWIW bunlar benim yanıtlarım:
- 1D dizide hiçbir soru ortaya çıkmaz. 2B, 3B, 4B dizilerde en soldaki parantez çifti her zaman ilk boyuttur . Bu benim de anlayışım.
 int     a[ 50 ];       // A one-dimensional array of 50 integers.
double m[ 7 ][ 50 ];     // Two-dimensional array of seven arrays,
                     //each of them consisting of 50 integers
ama bu açıklamaya baktığımda. Tanımlanma şekli "Yedi diziden oluşan iki boyutlu dizi. Her biri 50 tamsayıdan oluşuyor" Bunu ve yanıtlarınızı düşünürken... Bu olmalı.
50 tamsayının daha çok verinin satır/üye boyutuna benzediğini ve 7'nin sütun/başlık olduğunu öne sürdüğü için hatalı bir açıklama olabilir. Bu beni inandırdı (yanlışlıkla)
en sağdaki , uygun şekilde yeniden boyutlandırmamız/yeniden boyutlandırmamız gereken satır/üye kısmıydı.
- Gordon'u bulduğun için sana minnettarım. Ne yazık ki bugünlerde test yapmak benim için bir lüks... Bilgisayar ve internete yalnızca aralıklı olarak erişebiliyorum (karmaşık).
Ölü bir grafik üzerinde test yapmak bile zor oluyor... :( . Bu yüzden bazen 'sapık anlayışım'. TBH, çoğunlukla hafızaya ve referanslara güveniyorum...(üzgünüm..).

Not : oops.. bir önceki yazının girdiğini bilmiyordum. editledim.
 
cameofx :
[...] Bu hatalı bir açıklama olmalı, çünkü 50 tamsayının daha çok verinin satır/üye boyutuna benzediğini ve 7'nin sütun/başlık olduğunu öne sürüyor.

Ne önerdiğinden emin değilim, ama ne olursa olsun, en soldaki ilk boyut. Belgelerin çoğu Rusça'dan bir çeviridir, çoğu zaman çok iyi bir çeviri değildir, bu yüzden belki de bu o durumlardan biridir. Sütun/satır olayı sadece bir metafor; diziyi hayal etmemizi kolaylaştırır, ancak gerçek uygulama ile ilgisi yoktur. İlk boyutun bir 'satır' veya bir 'sütun' olup olmadığı size kalmış...

 
1005phillip :


Standart elektronik tablo tarzında dizi indeksleme ve boyutlandırmaya bakıyorum... Satır-Sütun (anımsatıcı "Roma-Katolik").

1B Dizi: MyArray[RowNumber-1]

2B Dizi: MyArray[RowNumber-1][ColumnNumber-1]

3B Dizi: MyArray[RowNumber-1][ColumnNumber-1][Çalışma Sayfası-1] ....

Bunlar da benim hayal ettiğim şekilde. ilk boyutla ilgili alıntıladığım referans beni çok şaşırttı..(yukarıdaki yazıya bakın). Bu nedenle, ColumnNumber ve/veya WorksheetNumber'ı mantıksal olarak yeniden boyutlandıramıyoruz.
ve/veya BookNumber..sadece RowNumber. Hangisi 2B, 3B ve 4B dizilerde en soldaki parantez çiftidir.
 
cameofx :
Yani mantıksal olarak yeniden boyutlandıramıyoruz [...]

Bu doğru.

 
gordon :

Ne önerdiğinden emin değilim, ama ne olursa olsun, en soldaki ilk boyut. Belgelerin çoğu Rusça'dan bir çeviridir, çoğu zaman çok iyi bir çeviri değildir, bu yüzden belki de bu o durumlardan biridir. Sütun/satır olayı sadece bir metafor; diziyi hayal etmemizi kolaylaştırır, ancak gerçek uygulama ile ilgisi yoktur. İlk boyutun bir 'satır' veya bir 'sütun' olup olmadığı size kalmış...

evet.. ne yazık ki, çoğumuz - eminim oradaki birçok yeni için konuşuyorum.. - mevcut belgelere çok fazla güveniyoruz..