Datuve :: Forums :: Arhīvs :: c++ Neizdodas piespiest c++ no negativa skaitla atnemt

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 201

Reģistrētie lietotāji online: 0

Viesi online: 201

Datuve.lv video
Top.LV

c++ Neizdodas piespiest c++ no negativa skaitla atnemt

Ievietoja: zarazakiller @ 2011.01.21 13:06  

Problema izsteniba tada.. Ar pozitivu skaitlu iegusanu viss ir ok.. bet nekadigi neizdodas peispiest lai vin atnem piemeram no -10..

#include<iostream>
#include<conio.h>
#include<math.h>
#include <windows.h>
#include <cmath>

using namespace std;
int main ()
{
signed int a,P,S,P1,S1, izvele, izvele1,izvele2,izvele3;
double  a2,b1;

cout<<"ievadiet vertibu"<< endl;
cin>>a;
ld:
if (a>0)
{
a=a+2 ;
cout<<a<<"  Skaitlis ir pozitivs"<<endl;
if (a>=100)
  goto arround;
}
goto ld;


cout<<a;
ld2:
if (a<0)
{
a=(a-2) ;
cout<<a2<<"  Skaitlis ir negativs"<<endl;
if (a<=-100)
  goto arround;
}
goto ld2;
 arround:
getch ()  ;
Beigas:
 }

Komentāri:

#1 bofh @ 2011.01.21 13:29

Neko jau es nejēdzu no programmēšanas bet izlasi pats savus "goto" un padomā.

#2 zarazakiller @ 2011.01.21 14:08

bofh rakstīja:

Neko jau es nejēdzu no programmēšanas bet izlasi pats savus "goto" un padomā.

NU goto pasi labi:D ja skaitli ir ar plusu..
bet ari bez goto uzrakstot teiksim
a=a-2, ja ir negativs c++ tapat negrib atnemt no negativa skaitla.
piemeram a = -10..  a=a-2 vaidzetu but -12.. bet nerekina.. Butiba vispar nekadu aprekinus ar negativiem skaitliem nevaru izdarit..
Bet pozitivi strada 100%..
Piemram
a=a+2 un ja a ir teiksim 1 vins skaita lidz 100 bez problemam..

#3 karuuzo @ 2011.01.21 14:42

Pirmkārt, aizmirsti par goto, tas nav beisiks, un otrkārt, kas tev liek domāt, ka viņš kaut ko nerēķina? Tas, ka atņem no viena skaitļa, bet rezultātu attēlo citu?

a=(a-2) ;
cout<<a2<<"  Skaitlis ir negativs"<<endl;
if (a<=-100)
 goto arround;

m

#4 zarazakiller @ 2011.01.21 15:15

Vins vispar no negativa neatnem:D pirmais bloks pasi vnk perfekti pieskaita skaitli +2 un pie parametra parstaj.. bet ar minusu man nesanak kautkas..

Nu ar plusu sanak vajag tikai ar negativu..
http://img573.imageshack.us/i/53121637.png/

#5 zarazakiller @ 2011.01.21 15:36

Vso paldies fixed strada ka pulstenis:D
#include<iostream>
#include<conio.h>
#include<math.h>
#include <windows.h>
#include <cmath>

using namespace std;
int main ()
{
signed int a,P,S,P1,S1, izvele, izvele1,izvele2,izvele3;
double  a2,b1;

cout<<"ievadiet vertibu"<< endl;
cin>>a;
if (a<0)
goto ld2;
 if (a>0)
 goto ld;

ld2:
{
a=a-2 ;
cout<<a<<"  Skaitlis ir negativs"<<endl;
if (a<=-100)
 goto arround;

if (a>-100)
goto ld2;
}
      //start of positive

ld:
{

a=a+2 ;
cout<<a<<"  Skaitlis ir pozitivs"<<endl;
if (a>=100)
 goto arround;
}
{
if (a<100)
goto ld;
}

arround:
getch ()  ;
Beigas:
}

#6 ^L00P @ 2011.01.21 15:42

iesaku izmest ārā visus nevajadzīgos mainīgos, tev tur tiek izmantots tikai a, izmest nevajadzīgos include un visus goto aizvietot ar if - else konstrukcijām :)

#7 zarazakiller @ 2011.01.21 15:44

^L00P rakstīja:

iesaku izmest ārā visus nevajadzīgos mainīgos, tev tur tiek izmantots tikai a, izmest nevajadzīgos include un visus goto aizvietot ar if - else konstrukcijām :)

Vnk es gatvas formas lietoju lai nevaidzetu katru reizi rakstit:D

#8 edd999 @ 2011.01.21 15:51

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>

using namespace std;
void main()
{
signed int a ;

cout<<"ievadiet vertibu"<< endl;
cin>>a;

if (a<0)
{
do
{
a=(a-2) ;
cout<<a<<"  Skaitlis ir negativs"<<endl;
}
while (a>=-100);
}
getch();
return 0;
}

Ātri uzklabināju piemēru.

#9 zarazakiller @ 2011.01.21 16:00

Lab paldies metu mieru:D Pamēģināsu tavu variantu arī:D