C++ "error: expected '}' at end of input" hatası

RSK06

Hectopat
Katılım
29 Aralık 2020
Mesajlar
2.365
Çözümler
4
Daha fazla  
Cinsiyet
Erkek

Dosya Ekleri

  • 1618521531252.png
    28,2 KB · Görüntüleme: 140
Son düzenleme:
count_divisible'ın fonksiyon olduğunu düşünürsek girinti hatası dışında bir şey göremedim. O hatayı vermemeli normalde. Kodun tamamını atar mısınız? Belki başka bir yerdeki eksiklikten kaynaklanıyordur.

Ve lütfen yazdığınız kodları ekran görüntüsü olarak değil, kod olarak paylaşın.
 
Son düzenleme:
Bir hata yok gibi. Ancak fonksiyon tanımı umarım mainin içinde falan degildir. Çünkü girinti var bir blogun içinde gibi. Kodun tamamını atarsanız daha iyi yardımcı olabiliriz.
C++:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
int count_divisible(){

     vector<int> vec {1,3,5,15,16,17,18,19,20,21,25,26,27,30,50,55,56,58,100,200,300,400,500,600,700};

   int count {0};
     for (auto i: vec) {
         if (i % 3 == 0 || i % 5 == 0) {
        
             ++count;
         }
            
     }
 
     return count;
   }
Bir hata yok gibi. Ancak fonksiyon tanımı umarım mainin içinde falan degildir. Çünkü girinti var bir blogun içinde gibi. Kodun tamamını atarsanız daha iyi yardımcı olabiliriz.
Sanırım main ile alakalı bir sorun var. Neyi düzeltmem lazım?
 
Amacınız count_divisible isimli bir fonksiyon tanımlamak gibi. Main içinde tanımlayamazsınız, lambda ile olur ama onu öğrenmek için biraz erken gibi.

Main'in kapama parantezi eksik. Asıl hatayı bu yüzden veriyor. Onu düzeltseniz bile main içinde fonksiyon tanımladığınız için hata verecektir.

Kod:
#include <iostream>
#include <vector>
#include <iomanip>

using namespace std;

int count_divisible() {
    vector<int> vec{ 1,3,5,15,16,17,18,19,20,21,25,26,27,30,50,55,56,58,100,200,300,400,500,600,700 };
    int count{ 0 };

    for (auto i : vec) {
        if (i % 3 == 0 || i % 5 == 0) {
            ++count;
        }
    }

    return count;
}

int main() {

    cout << count_divisible() << endl;

    return 0;
}
Kod:
#include <iostream>
#include <vector>
#include <iomanip>

using namespace std;

int count_divisible(vector<int>& v) {

    int count{ 0 };

    for (auto i : v) {
        if (i % 3 == 0 || i % 5 == 0) {
            ++count;
        }
    }

    return count;
}

int main() {
    vector<int> vec{ 1,3,5,15,16,17,18,19,20,21,25,26,27,30,50,55,56,58,100,200,300,400,500,600,700 };

    cout << count_divisible(vec) << endl;

    return 0;
}
Kod:
#include <iostream>
#include <vector>
#include <iomanip>

using namespace std;

int main() {
    vector<int> vec{ 1,3,5,15,16,17,18,19,20,21,25,26,27,30,50,55,56,58,100,200,300,400,500,600,700 };

    auto count_divisible([&vec]() /*-> int*/ {
        auto count{ 0 };

        for (auto i : vec) {
            if (i % 3 == 0 || i % 5 == 0) {
                ++count;
            }
        }

        return count;
    });

    cout << count_divisible() << endl;

    return 0;
}
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…