Miért nem működik ez a program c++ -ban?
#include <iostream>
#include <stdlib.h>
using namespace std;
int main ()
{
int i;
int x;
int y;
int z;
int utszamjegy;
const int paros[5]={0,2,4,6,8};
const int paratlan[5]={1,3,5,7,9};
cout << "Kerem az x szamot: "; cin >> x;
cout << "Kerem az y szamot: "; cin >> y;
z = 0;
do {
while (x!=0 and y !=0){
utszamjegy = x%10;}
i = 0;
while (utszamjegy != paratlan[i]){
++i;}
z = z+x+y-1;
x = x-1;
y = y-1;
cout << "A szorzat erteke: " << z;
while (utszamjegy != paros[i]){
++i;}
y = 2*y;
x = x/2;
}
return 0;
}
A cél hogy kiszámítsuk két szám szorzatát, de szorzás nélkül. A matematikai háttere nem lényeges, és meg lehetne oldani egyszerűbben is, de én gyakorlás miatt tömbökkel szeretném.
A célom az volna hogy beolvasom a két (egész) számot, (x,y) megnézem hogy az x utolsó számjegye megegyezik-e a páros / páratlan tömb valamelyik elemével, amelyikkel megegyezik, azt az utasítás sort kell végrehajtani, kész.
A gond az hogy futtatásnál, miután bekéri a számokat nem csinál semmit a program, megáll. Ötletek?
Milyen matematikában, ne csesszél fel:D
Gyors tipp, mivel nem merem kipróbálni:
ha x kettő hatvány akkor működik, mert addig osztod 2-val, amíg 1 maradékot nem ad. Ekkor a kettő hatványokat átvitted y-ra, belép az if-be (mivel 1%2 = 1) és kiírja x+y-1et ami igazából y. Azért helyes, mert "amennyiedik" 2 hatványon volt x, annyit vitt át y-ra.
Ez után x = x-1 = 0, tehát kilép.
C-ben nem írunk olyan hogy 'and', van helyette &&.
A tanárt meg újra kellene képezni, mert alkalmatlannak ítélem a munkája elvégzésére. Szabad tudni hol tanulsz?
a szorzás ismételt összeadás
pl. 5*9 = 9 + 9 + 9 + 9 + 9
vagyis fogod az egyik számot, és annyiszor adod össze saját magával amennyit a másik szám
ezt egy sima for-al meg lehet oldani, semmi extra nem kell hozzá
Amúgy rájöttem, ez ugyanaz a csávó lehet, aki a múltkor 70 sorban akarta megírni azt a programot, hogy "kérj be két számot, majd írd ki őket". :D
Ott is volt minden, ne használjunk printf-et a kiíráshoz, kell benne tömb, meg ciklus...
Totál agyatlan a csávó...
Itt is annak eldöntése, hogy egy szám páros úgy, hogy végigmegy egy tömbön... Beteges.
Srácok kár foglalkozni vele, menthetetlen, hadd kínlódjon csak!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!