Iracionálně se chovající program :-(( – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Iracionálně se chovající program :-(( – C / C++ – Fórum – Programujte.comIracionálně se chovající program :-(( – C / C++ – Fórum – Programujte.com

 

Franceq+1
Stálý člen
27. 12. 2010   #1
-
0
-

Zdravím, absolutně nechápu, proč při porovnávání proměnné "a" a "sum" propustí přes podmínku program i čísla, pro které podmínka neplatí, vím, že program dělá vždy co člověk napíše, ale teď vážně nevím, protože podmínka špatně napsat nejde jde jen o rovnost dvou čísel....přikládám kód budu rád za cokoliv....omlouvam se za syntaxi, opět jsem zvolil středověkou metodu, protože jsem hledal chybu...-)

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
unsigned long long int a, b, c, d;
int pole[918];
pole[0] = 2;
int n = 1;
int p = 0;
for (a=2;a<100;a++)
{
int odm;
odm = sqrt(a);
for (b=2;b<=odm;b++)
{
if ((a % b) == 0)
{
break;
}
if (b == odm)
{
pole[n] = a;
n++;
}
}
}
for (a=1;a<50;a++)
{
for (b=0;b<n;b++)
{
for (c=0;c<n;c++)
{
for (d=0;d<n;d++)
{
unsigned long long int dm;
dm = (pole*pole);
unsigned long long int tm;
tm = (pole[c]*pole[c]*pole[c]);
unsigned long long int cm;
cm = (pole[d]*pole[d]*pole[d]*pole[d]);
unsigned long long int sum = (dm + tm + cm);
if (sum > a)
{
break;
}
if (sum == a);
{
cout << dm << " " << tm << " " << cm << "\n";
cout << "sum: " << sum << "\n";
cout << "pole: " << pole << " ";
cout << "pole[c]: " << pole[c] << " ";
cout << "pole[d]: " << pole[d] << " ";
p++;
cout << a << "\n";
d = n;
c = n;
b = n;
break;
}
}
}
}
}
cout << "vysledek: " << p << "\n";
cin.get();
return 0;
}

Nahlásit jako SPAM
IP: 213.235.145.–
liborb
~ Redaktor
+18
Guru
28. 12. 2010   #2
-
0
-

Ta podmínka za to nemůže :), protože její celý kód je:

if (sum == a);
a dál nic. To zatím je blok, který se vykoná vždy neb máš podmínku ukončenou středníkem.

Nahlásit jako SPAM
IP: 78.80.52.–
Franceq+1
Stálý člen
28. 12. 2010   #3
-
0
-

omg ja jsem kkt to snad neni pravda
xD omlouvam se uz me to asi leze na mozek

Nahlásit jako SPAM
IP: 213.235.145.–
z_moravec
~ Redaktor
+3
Posthunter
28. 12. 2010   #4
-
0
-

To Franceq : Takové chyby jsou nejhorší, když do toho člověk hledí celý den, tak je snadno přehlídne.

Nahlásit jako SPAM
IP: 88.100.227.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
KIIV
~ Moderátor
+43
God of flame
28. 12. 2010   #5
-
0
-

mozna proto ani nedelam zrovna tendle styl odsazovani (formatovani).. radsi: if (neco ) {
clovek pak jasne vidi ze tam neco zacina

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Franceq+1
Stálý člen
28. 12. 2010   #6
-
0
-

mě právě tohle formátování vyhovuje xD tohle se mě stalo prvně :-D

Nahlásit jako SPAM
IP: 213.235.145.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 34 hostů

Podobná vlákna

C# program — založil Tomas.P

Program — založil opi10

Program — založil Jan Burant

Program — založil juraj

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý