View Full Version : این ارور یعنی چی؟ و آیا مرجعی واسه فهمیدن ارور مختلف دارید؟
hosseinam1370
دوشنبه 16 تیر 1393, 20:55 عصر
این ارور یعنی چی؟ و آیا مرجعی واسه فهمیدن ارور مختلف دارید؟تا دیگه خودمون ارور شناس شیم.یه برنامه برای پیدا کردن عدد اول نوشتم، ورودی تا 500 رو جواب میده و پیدا میکنه ،ولی همین که ورودی رو میزنم 1000 و اینتر رو میزنم برای ادامه که محاسبه کنه،این داستان پیش میآد.
رشته ام برق قدرت هست و استادی ندارم که بخاد اینآ رو بهمون بگه .اگه pdf یا هرچی برای گفتن ارور ها دارید ممنون میشم راهنمایی کنید.
http://www.xum.ir/image/Fhd0
pedram.11
دوشنبه 16 تیر 1393, 21:06 عصر
طول آرایه ی zakhire شما 100تاست و نمیتونه به خونه های بیشتر از 100 دسترسی پیدا کنه
hosseinam1370
دوشنبه 16 تیر 1393, 21:23 عصر
ممنون دوسته عزیز.
دوستان برای جلوگیری از زدن تاپیک اضافه در اینجا ،اگه لطف کنید یه سری به لینک زیر بزنید و اگه پیشنهادی در موردش دارید و همینجا بگید ،ممنون میشم.
a.r.khoshghalb
دوشنبه 16 تیر 1393, 21:35 عصر
چه خطایی میده؟
pedram.11
دوشنبه 16 تیر 1393, 22:34 عصر
متد GetPrimes تمام اعداد اول از 2 تا عدد مورد نظر رو در یک vector برمیگردونه، الکوریتم بدست آوردن اعداد اول هم از روش غربال اراتوستن اعداد اول (Sieve of Eratosthenes) هستش:
#include<iostream>#include<math.h>
#include<string.h>
#include<vector>
using namespace std;
vector<int> GetPrimes(int);
int main(){
int n;
scanf("%d",&n);
vector<int> primes=GetPrimes(n);
for(int i =0;i<primes.size();i++)
printf("%d ",primes[i]);
printf("\n");
system("pause");
}
vector<int> GetPrimes(int n){
bool *visited=new bool[n+1];
memset(visited, false,sizeof(bool)*(n+1));
int _sqrt=sqrt(n);
for (int i = 2; i <= _sqrt; i++)
{
if(visited[i]) continue;
for (int j = i*i; j <= n; j+=i)
visited[j]=true;
}
vector<int> primes;
for (int i = 2; i <= n; i++)
if(!visited[i])
primes.push_back(i);
return primes;
}
hosseinam1370
دوشنبه 16 تیر 1393, 23:37 عصر
چه خطایی میده؟
سلام .خطا حل شد.
این یه سوال دیگه هست.
بازم ممنون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.