Pomozcie. prosze o wyjasnienie tego kodu napisanego w DevC++. tzn chodzi mi o przetlumaczenie co oznacza kazda linijka tego kodu, jestem laikiem jesli chodzi o programowanie. Prosze o pomoc.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,b,s,m,n,i;
cout<<"Podaj M: ";cin>>m;
cout<<"Podaj N: ";cin>>n;
for (i=1;i<=n;i++)
{
a=i;s=0;
while (a!=0)
{
b=a%10;
s=b+s;
a=a/10;
}
if(s*s==m) cout<<"Liczba: "<<i<<" suma cyfr wynosi: "<<s<<" kwadrat sumy cyfr: "<<m<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Zakładając że mimo to że jesteś laikiem znasz ten podstawowy kod programu przejdę do tego co napisales w int main()
int a,b,s,m,n,i; // Deklarujesz zmienne typu int
cout<<"Podaj M: ";cin>>m; Wczytujesz liczbę do zmiennej m
cout<<"Podaj N: ";cin>>n; Wczytujesz liczbę do zmiennej n
for (i=1;i<=n;i++) Tworzysz pętlę for która będzie się powtarzała n razy.
{
a=i;s=0; zmiennej a przypisujesz wartość i a zmnienną s zerujesz
while (a!=0) Tworzysz pętlę while której mówisz że "Dopóki a jest różne od 0 to ma się ona wykonywać
{
b=a%10; /zmiennej b przypisujesz działanie a modulo 10 - modulo to reszta z dzielenia
s=b+s; zmiennej s przypisujesz wartość b+s
a=a/10; zmienna a= a/10 - dzielisz a przez 10
} // Kończysz pętle while (pamiętaj że zakończy się ona dopiero gdy a nie będzie równe 0.
if(s*s==m) cout<<"Liczba: "<<i<<" suma cyfr wynosi: "<<s<<" kwadrat sumy "<<m<<endl; //Dajesz warunek if w którym mówisz: Jeżeli s*s będzie równe m to wypisujesz że suma cyfr i-tych liczb wynosi s, a kwadrat sumy wynosi m - wczesniej wykonales te dzialania na zmiennej s i a więc wystarczy ci to wypisać.
}// Kończysz pętle
Jak coś nie tak to pisz...