Napisz program, który wczyta liczby całkowite n>0 i m>0, obliczy, przy pomocy pętli while, ile wyonsi suma liczb przeciwnych do liczb z przedziału (1,n) i (1,m) oraz wypisze wynik obliczeń. W przypadku, gdy n<=0 lub m<=0 program wypisze komunikat : "Niepoprawne dane". Język c++

Daje naj


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

int main() {

 int n,m,i=1,j=1,suma_n=0,suma_m=0;

 cout<<"Podaj liczbę n: ";

 cin>>n;

 cout<<"Podaj liczbę m: ";

 cin>>m;

 if (n>0 && m>0){

   while (i<=n){

     suma_n=suma_n-i;

     i=i+1;

   }

   while (j<=m){

     suma_m=suma_m-j;

     j=j+1;

   }

   cout<<"Suma_n = "<<suma_n<<endl;

   cout<<"Suma_m = "<<suma_m;

 }

 else{

   cout<<"Niepoprawne dane";

 }

}

Wyjaśnienie:

Troszkę na siłę ta pętla WHILE. Wygodniej by było z pętlą FOR.

Wersja z pętlą FOR:

#include <iostream>

using namespace std;

int main() {

 int n,m,i=1,j=1,suma_n=0,suma_m=0;

 cout<<"Podaj liczbę n: ";

 cin>>n;

 cout<<"Podaj liczbę m: ";

 cin>>m;

 if (n>0 && m>0){

   for (i=-n;i<=0;i++){

     suma_n=suma_n+i;

   }

   for (j=-m;j<=0;j++){

     suma_m=suma_m+j;

   }

   cout<<"Suma_n = "<<suma_n<<endl;

   cout<<"Suma_m = "<<suma_m;

 }

 else{

   cout<<"Niepoprawne dane";

 }

}

Zobacz obrazek Animaldk