C++ da sadə ədədlər proqramında mənim səhvim haradadır?

Salam.Mən C++ dilini təzə öyrənirəm.Müəllim bir tapşırıq verib.100-dən 200-ə qədər sadə ədədləri ekrana çıxaran proqramı yazmaq mənə tapşırılıb.Məncə alqoritmim düzdür, ancaq proqram 197, 198, 199 ədədlərini təkrar-təkrar ekrana çıxarır.Bu da kod:

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
int i,j,k=0;
for(i=101;i<200;i++)
{
for(j=2;j<i;j++)
{
if(i % j==0) break;
else k=1;
}
if(k=1) cout<<i<<“n”;
}
return 0;
}


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

(14:32, 27/04/2013 ) #29371

sənin səhvin

1if(i % j==0) break;
2else k=1;

burdadı beləki fərz edək i=15. j=2 olanda i%j=1 olur buna gore sendə k=1 olacaq. j=3 olanda i%j=0 olacaq və dövr sınacaq j=2 olanda sən k=1 etdiyin üçün dövr break olanda k=1 olacaq və geriyə true döndərəcək.
başqa bir xətan if(k=1) belə yazdğında k=1 olur yəni şərt işləmir bəzi compile lar bunu xəta olaraq göstərsədə bəziləri göstərmir.
prime number ləri tapmaq üçün müxtəlif metodlar var internetdən daha ətraflı məlumat tapa bilərsən.
[/code]bool isPrime(int x)
{
if(x!=1 && x<4 )
return false;
else
{
for(int i=2; i<=sqrt(x); i++)
if(x%i==0)
return false;
}
return true;
}

bu prime number ları tapmaq ucun istifadə olunan metodlardı. dövrdə nəyə görə sqrt(x) istifadə etdiyimi bilmək istəsən [/code]

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:31, 27/04/2013 ) #29373

Heyder senin algoritmin bu olmaq isdiyib)
#include

using namespace std;
int main()
{
int k=0;

for(int i=101;i<=200;i++)
{
for(int j=2;j<=i/2;j++)
{
if(i%j==0)break;
else
{
k=1;
}

}
if(k==1)cout<<i<<endl;
k=0;
}

return 0;
}

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(21:00, 27/04/2013 ) #29375
1#include <iostream>
2using namespace std;
3int main ()
4{
5    for (int i=100; i<200; i++)
6    {
7        bool sade = true;
8        for (int n=2; n*n<=i; n++)
9        {
10            if (i % n == 0)
11            {
12                sade = false;
13                break;   
14            }
15        }  
16        if(sade) cout << i << endl;
17    }
18    return 0;
19}
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(23:34, 27/04/2013 ) #29382

Her birinize tesekkurumu bildirirem.Coxsagolun…

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Elektron servis xidmətləri (2 gün əvvəl)

cavaninsan cavab verdi - Amerika səhmləri (11 gün əvvəl)

Software Developer cavab verdi - Amerika səhmləri (11 gün əvvəl)

SN cavab verdi - Kripto vergi (20 gün əvvəl)

Nicat97 cavab verdi - ilkaddimlar.com-a nə oldu? (27 gün əvvəl)

nicatmemmedli cavab verdi - Proqramlaşdırma - fəlsəfə (30 gün əvvəl)

nicatmemmedli cavab verdi - ilkaddimlar.com-a nə oldu? (30 gün əvvəl)

Software Developer cavab verdi - ilkaddimlar.com-a nə oldu? (40 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (50 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (51 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (51 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (52 gün əvvəl)

E. Hacı cavab verdi - Telefon almışam kamerasında ləkə var qaytarmaq istəyirəm, mağaza qaytarmır (52 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (52 gün əvvəl)

Cənab cavab verdi - Rus dili yatırımı (52 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23309 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2025