C/C++ Check Symmetry of Array Elements ödevinin kodu doğru mu yazılmış?

Fonksiyonlara gelmediğinizi belirttiğiniz için fonksiyonlar dışında her şeyden bahsedeceğim, fakat normal şartlar altında fonksiyonların her şeyden önce konuşulması ve kullanılması taraftarıyım. Neyse, geçelim.

İlk olarak C++'ta dinamik boyuta sahip array bu şekilde tanımlanmaz. Container tiplerini kullanın bunun yerine. Yada sabit büyüklükte bir array oluşturun, kullanıcının belirttiği kadar alanı kullanın. Örneğin;
C++:
#include<iostream>
#include<array> //C++ 11 Array
#define ARRAY_SIZE 1024

int main(void) {
    std::array<int, ARRAY_SIZE> array;
    int size = 0;
    std::cout << "Lütfen array boyutunu belirtin." << std::endl;
    std::cin >> size;
    for(int i = 0; i < size; i++) {
        //Arrayle bir şeyler yapın
    }
}
Yukarıdaki de hala uygun bir çözüm değil ancak yaptığınız kullanımdan daha sağlıklı. Dinamik kullanım isteniyorsa vector kullanımı daha sağlıklı.

İki indentations/girintiler. Kodunuz berbat durumda girintiler söz konusu olduğunda. Not defterinde mi yazıyorsunuz bilmiyorum. Okumak bile göz rahatsızlığı veriyor.
C++:
int main() {
    int size;
    cin >> size;
    int counter = 0 ;
    int array[size];

    for(int f = 0 ; f<size ; ++f) {
        cin >> array[f] ;
    }
  
    bool marker = false ;

    for (int f = 0 ; f < size ; ++f) {
        for (int s = size ; s == 0 ; --s) {
            if (array[f] == array[s]) {
                marker = true ;
            }

            if (marker) {
                ++counter;
            }
        }
    }

    if (counter==size) {
        cout << "Symmetrical" << endl;
    }
    else {
        cout << "Not Symmetrical" << endl;
    }

    return 0;
}

Girintiler aşağı yukarı böyle olmalı. Her yeni bir scope başlatmadan önce ve sonra bir satır bırakmak adettir. Kodu daha okunabilir kılar.

Üç, using namespace std;. Genel alan adı tanımlarından kaçınılmalı. İlla kısaltmak isteniyorsa scope içerisinde tanımlama yapılabilir ancak öyle bir durumda bile yine de kaçınılması gerekilir. Aynı isme sahip fonksiyonların kafa karışıklığı yaratabilme durumu olduğu gibi okumayı da zorlaştırır.

Eksik, atladığım bir şeyler olabilir. Yine de bunlar bile yeterli olmalı kodunuzun neden okunmaz durumda olduğunu anlatmak için.
Hocam ben testcaselere uyarak öyle yazıyorum o yüzden sorunlar oluşa biliyor ama yine de teşekkürer.
 

Technopat Haberler

Geri
Yukarı