Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, gal galite padėti su c kalba? Atrodo nesuprantu elementaraus dalyko. Užduotis: Įvesti tris sveikus skaičius a, b, c. Jei visi skaičiai yra neigiami, tuomet jų reikšmes pakeisti į teigiamas. Jei neigiamas tik vienas skaičius, tai jo reikšmę padauginti iš -5. Jei neigiami du skaičiai – išvesti pranešimą „du skaičiai tyra neigiami“ ir padauginti visus skaičius iš 10. Išvesti visas reikšmes.

Tarkim pradedu rašyti kodą

 

#include <stdio.h>

int main()

{

int a, b, c;

printf("Iveskite tris skaicius:");

scanf("%d %d %d", &a, &b, &c);

if ((a<=0) && (b<=0) && (c<=0))

 

 

...

 

 

Tai aš nesuprantu toliau, kaip nustatyti, kad vienas skaičius neigiamas ir būtent tą vieną iš visų trijų padauginti iš -5. Gal kas galėtų paaiškinti ar kokį pvz parašyti?

Redagavo taisonnn
Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <stdio.h>
int main()
{
int a, b, c, d, e, f;
printf("Iveskite tris skaicius:\n");
scanf("%d %d %d", &a, &b, &c);
if ((a<0) && (b<0) && (c<0))
	 {
	a = a * -1;
	b = b * -1;
	c = c * -1;
	printf("Visi skaiciai neigiami. \nGauti skaiciai yra: %d %d %d\n",a,b,c);
	}
	else if (a<0) {
		a = a * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}
		else if(b < 0) {
		b = b * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}
		else if (c < 0) {
		c = c * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}

else if ((a<0) && (b<0) || (a<0) && (c<0) || (b<0) && (c<0))
		{
		d=a*10;
		e=b*10;
		f=c*10;
		printf("Du skaiciai yra neigiami. Gauti skaiciai yra : %d %d %d \n",d,e,f);
		}
else printf("Visi skaiciai teigiami\n");

}

 

Pasirašiau tokį kodą. Viskas kaip ir gerai, tik, kai įvedu du neigiamus skaičius, man skaito kaip vieną neigiamą. Kame problema? Ar tiesiog if'as nevietoj ar trūksta?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <stdio.h>
int main()
{
int a, b, c, d, e, f;
printf("Iveskite tris skaicius:\n");
scanf("%d %d %d", &a, &b, &c);
if ((a<0) && (b<0) && (c<0))
	 {
	a = a * -1;
	b = b * -1;
	c = c * -1;
	printf("Visi skaiciai neigiami. \nGauti skaiciai yra: %d %d %d\n",a,b,c);
	}
	else if (a<0) {
		a = a * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}
		else if(b < 0) {
		b = b * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}
		else if (c < 0) {
		c = c * -5;
		printf("Vienas skaicius neigiamas. \nGauti skaiciai yra : %d %d %d\n",a,b,c);
		}

else if ((a<0) && (b<0) || (a<0) && (c<0) || (b<0) && (c<0))
		{
		d=a*10;
		e=b*10;
		f=c*10;
		printf("Du skaiciai yra neigiami. Gauti skaiciai yra : %d %d %d \n",d,e,f);
		}
else printf("Visi skaiciai teigiami\n");

}

 

Pasirašiau tokį kodą. Viskas kaip ir gerai, tik, kai įvedu du neigiamus skaičius, man skaito kaip vieną neigiamą. Kame problema? Ar tiesiog if'as nevietoj ar trūksta?

else if ((a<0) && (b<0) || (a<0) && (c<0) || (b<0) && (c<0))

šitas ne vietoj, kelk įviršų. Nes prieš tai tikrini po vieną skaičių ir jį pakeiti, todėl šis nesuveikia :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 1 mėnesio...

Sveiki, gal kas turit pasirašę su C kalba panašią užduotį ar bent jau galit užvesti ant kelio kaip daryti?

Užduotis: Įvesti skaičių N. Sudaryti N*N dydžio lentelę, kurioje surašyti spirale skaičius nuo 1 iki N*N (skaičius rašyti į kairę nuo lentelės vidurio). Išvesti gautą lentelę.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...