Napisz program, który będzie wykonywał mnożenie dwóch, podanych przez użytkownika liczb, wykorzystując do tego jedynie dodawanie.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
#include <iostream>
using namespace std;
int main()
{
int a,b,a1,b1,wynik=0;
cin >> a >> b;
if (a<0) a1=-a; else a1=a;
if (b<0) b1=-b; else b1=b;
for (int i=0; i<b1; i++) wynik+=a1;
if ((a>0 && b<0) || (a<0 && b>0)) cout << -wynik; else cout << wynik;
return 0;
}
Warto pamiętać, że na wejściu mogą pojawić się liczby ujemne stąd to zabezpiecznia które pozwolą zawsze uzyskać poprawny wynik ;)
Rozpoznać znak można także poprzez mnożenie. Zdaje się, że gdybym zamiast (a>0 && b<0) || (a<0 && b>0) dał (a*b < 0) to i tak wynik byłby poprawny - wynika to z tego, iż - * + daje - ;) Ale to taka mała uwaga