Zadanka:
Kod:program liczy pole i objetosc kuli. Oraz program sprawdza czy dana liczba jest doskonała czyli dzieli sie przez sume dzielników mniejszych od niej
Wersja do druku
Zadanka:
Kod:program liczy pole i objetosc kuli. Oraz program sprawdza czy dana liczba jest doskonała czyli dzieli sie przez sume dzielników mniejszych od niej
Skoro uczysz sie C++ tzn ,ze musisz korzystać z mózgu więc drugiego program
cin>>a;
suma=0;
for (int i=1;a<i;i++)
suma=suma+i;
if (a%suma==0)
cout<<"podana liczba jest doskonala";
I ten program nie wiem jak działa. Jak coś to go popraw ale tak mniejwięcej ma wyglądać (moim zdaniem)
NIe znam wzorów na kulę więc nie chce mi się robić ale jest to dość proste, wczytujesz jakie dane są Ci potrzebne za zmienną wynik podstawiasz je jak we wzorze i wypisujesz.
Pole :
Objętość :Kod HTML:P = 4 PIr2
A mógłbyś to dodać z includem, resetem i całą reszta? Dzieki za pomoc, prosilem was o nia poniewaz przez chorobe nie bywałem na lekcjach i teraz nadrabiam i narazie jestem na petlach i ciezko mi idzie ;lKod HTML:V= 4/3 PIr3
Ale ja się uczę na starym kompilatorze więc może u Ciebie nie działać (chociaż logicznie myśląc powinno) z tym ,że mam dziwnego nauczyciela.
#include <iostream.h>
#define pi 3.14
void main()
{ int a,suma;
float p,v;
cin>>a;
suma=0;
for (int i=1;a<i;i++)
suma=suma+i;
if (a%suma==0)
cout<<"podana liczba jest doskonala";
cin>>r;
p=4*pi*(r*r); // - nie pamietam biblioteki dla potęgowania
v=4/3*pi*(r*r*r);
cout<<"Pole = "<<p<<endl;
cout<<"objetosc = "<<v<<endl;
}
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float a;
int suma=0,i;
cout<<"Podaj liczbe"<<endl;
cin>>a;
for(i=1;i<a-1;i++) if(fmod(a,i)==0) suma=suma+i;
cout<<"\n"<<a;
if(fmod(a,suma)==0) cout<<" jest liczba doskonala\n";
else cout<<" nie jest liczba doskonala\n";
system("PAUSE");
return 0;
}
napisalem ten drugi program, ale widze, ze juz mnie ktos uprzedzil. napisalem go zgodnie z twoja definicja liczby doskonalej, ale widze, ze na wikipedii jest inna definicja jak co. pierwszego programu nie pisalem, bo jest banalnie prosty i powinienes sobie z nim poradzic sam juz na pierwszej lekcji c++...
biblioteka do potęgowania to np. cmath
wtedy piszesz u gory
#include<cmath>
a tam gdzie jest mnożenie r*r*r wpisujesz
pow(r,3)
co oznacza r do potęgi trzeciej
o ile sie nie myle przy petli for powinny byc klamry {}, bo leca 2 linijki polecen a nie jedna, czyli
for(i=1;i<a-1;i++)
{
if(fmod(a,i)==0)
suma=suma+i;
}
ale glowy nie dam, z c++ od dawna prawie zerowy kontakt
Sformatowałem trochę kod, ukróciłem wyświetlanie czy liczba jest doskonała/czy nie. Dopisałem #include windows.h, bo dev-cpp woła.Kod:#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
int main()
{
float a;
int suma = 0;
cout << "Podaj liczbe" << endl;
cin >> a;
for(int i = 1; i < (a - 1); i++)
if (fmod(a,i) == 0)
suma += i;
cout << a << ((fmod(a, suma) == 0) ? " jest" : " nie jest") << " liczba doskonala" << endl;
system("PAUSE");
return 0;
}
Nie mam kompletnie pomysłu jak zrobić ten program na obj i pole kuli w 1 programie napisałem narazie coś takiego :
Kod:#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float pole,objetosc,promien;
pole==4*3,14*promien^2;
objetosc==(4*3,14*promien^?3)/3;
cout<<"Podaj promien"<<endl;
cin>>promien;
cout<<" Pole jest rowne: " << pole << endl;
cout<<"Objetosc jest rowna: " << objetosc;
system("PAUSE");
return 0;
}
Pomoze ktoś jeszcze ? :D
btw. fajna definicja liczby doskonałej..Kod:#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double P, V, r;
cin>>r;
cout<<"P = "<<4*M_PI*r*r<<endl;
cout<<"V = "<<4*M_PI*r*r*r/3<<endl;
system("PAUSE");
return 0;
}
@down
oj tam, oj tam
Ludzie, błagam, spacja przed i po "<<",
Czyta się 3x wyraźniej niżKod:cout << "P = " << 4*M_PI*r*r << endl
<< "V = " << 4*M_PI*r*r*r/3 << endl;
Kod:cout<<"P = "<<4*M_PI*r*r<<endl;
cout<<"V = "<<4*M_PI*r*r*r/3<<endl;
Okej, dzięki all rozwiazane teraz zostało mi tylko się uczyć. Proszę o zamknięcie tematu.
Pozdro, i dzięki wszstkim co pomagali Zakon!