#include<iostream>
using namespace std;
int main(){
int sayi,i;
int l = 0;
cout << "Sayıyı girin: " << endl;
cin >> sayi;
int liste[100] = {};
for( i = 0; i <= sayi; i++) {
if (sayi % i == 0) {
liste[l] = i;
l++;
}
}
for( int a = 0; a <= sayi; a++) {
if (liste[a] != 0 && liste[a] <= sayi) {cout<<a<<". indeks = "<<liste[a]<<endl;
}
}
}
c++ ile bu şekilde bir kodla sayının bölenlerini göstermeye çalışıyorum. bir çok sayıda sorun yok ama 200 yazınca var olmayan indeks numaraları ve değişik sayılar yazdırıyor.
10. indeks = 100
11. indeks = 200
100. indeks = 72704
102. indeks = 59231232
gibi ve 200’e kadar gidiyor
Teşekkür ederim. Listeye attığım şeyler bölenler olduğu için mesela 200 sayısı için 11 böleni olduğundan 11 boyutundaki bir liste yeter diye düşünmüştüm. Peki listeyi girdisini aldığım sayı boyutunda nasıl yapabilirim?
vector<int> liste[sayi] = {};
şeklinde yapabileceğimi okudum birçok yerde ama sorun çözülmüyor ve hiç alakasız yerlerde de hata vermeye başlıyor