Diziler, sıralı veri depolamanın basit ve verimli bir şeklidir. Hemen hemen her bilgisayar programında kullanılırlar. Çoğu durumda, içlerindeki bilgiler uygulamanın çalışması sırasında oluşturulur. Ancak bazen bir veya başka bir kaynaktan veri almış bir dizi girmeniz gerekir.
Gerekli
- - metin düzenleyici veya IDE;
- - C++ derleyicisi.
Talimatlar
Aşama 1
Kullanıcıdan veri isteyen bir dizi girin. Girilecek öğe sayısını hesaplayın veya sorgulayın. Gerekli boyutta bir dizi oluşturun. Tüm öğeleri yinelemek için program kodunda istediğiniz yere bir döngü ekleyin. Bir döngüde, girişin doğru olup olmadığını kontrol ederek her öğe için verileri sorgulayın. Veri girişini gerçekleştirmek için çeşitli araçlar kullanılabilir. Klasik yol, C kitaplığının scanf ve wscanf işlevlerini kullanmaktır. Ancak, bu işlevler güvensizdir. Bir arabellek taşması bir güvenlik hatasına neden olabilir. C++ akışları uygun ve güvenli giriş sağlar, ancak dezavantajları da vardır. Bir diziyi standart bir girdi nesnesi kullanarak doldurmanın en basit örneği şöyle görünebilir: int aNumbers [10]; for (int i = 0; i <10; i ++) {std:: cout
Adım 2
Dosyadan diziyi girin. Basit okuma algoritmalarını uygulamak için biçimlendirilmiş giriş işlevlerini (fscanf, fwscanf) ve akış nesnelerini (ifstream gibi) kullanın. Akışları kullanırken hatalı, başarısız, iyi, rdstate yöntemleriyle giriş hatalarını izleyin. Bir dosyadan veri okumanın basit bir örneği şöyle görünebilir: int aNumbers [10]; std:: ifstream oFileStream ("dosyaadi.txt"); if (! oFileStream.fail ()) {for (int i = 0; (i> aNumbers ;} else std:: cout)
Aşama 3
Diziyi doğrudan program koduna statik veri olarak girin. Karşılık gelen değişkenleri başlatmak için dizi değişmezlerini kullanın. Örneğin, sınıfın statik bir üyesi olan tanımsız uzunlukta bir int değerleri dizisi ve şu şekilde bildirilir: class CMyClass {… static const int m_anMyArray; …}; Aşağıdaki gibi başlatılmalıdır: const int CMyClass:: m_anMyArray = {10, 20, 30, 40}; Bu yöntemi kullanarak, programların kaynak koduna herhangi bir karmaşıklıktaki yapı dizilerini girebilirsiniz.