Pereiti prie turinio

C++ nesuprantu kaip Išvesti narių, kurie yra nelyginių skaičių kvadratai, skaičių.


Rekomenduojami pranešimai

Sveiki, strigau darydamas uzduoti. Įvesti sveikų skaičių seką, kurios pabaiga žymima skaičiumi 0. Išvesti narių, kurie yra nelyginių skaičių kvadratai, skaičių. Nesigauna Išvesti narių, kurie yra nelyginių skaičių kvadratai, skaičių. Gal galite padeti?

 

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main ()

{

int skaicius, nelyginis;

printf ("Iveskite sveika skaiciu.\nIvede skaiciu paspauskite ENTER.");

printf ("Pabaigoje irasykite 0:");

scanf("%i", &skaicius);

while (skaicius !=0)

{

printf("Ivedinekite skaicius. Pabaiga 0: ");

scanf("%i",&skaicius);

}

printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra: \n");

 

system("pause");

return 0;

}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelyginiai skaičiai (arba neporiniai skaičiai) – visi sveikieji skaičiai, kurie nesidalija iš 2 (arba, kitaip tariant, dalinasi su liekana).

 

Suki ciklą per visus savo skaičius, tikrini su if'u ar jis nelyginis, jeigu nelyginis apskaičiuoji jo kvadratą ir kitam cikle kuris vėl eina per visus tavo skaičius žiūri ar jis == tam tavo apskaičiuotam kvadratui, jei lygus counteris +=1;

 

Išvedi į ekraną counteris ir vualią

Redagavo SysRqDesign
Nuoroda į pranešimą
Dalintis kituose puslapiuose

o gal gali bent uzvesti ant kelio - kurioj vietoj ir kaip pradet? Pabandziau, bet neisveda man nieko.

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main ()

{

int skaicius, i, s, sk;

 

printf ("Iveskite sveika skaiciu.Pabaigoje irasykite 0.\nIvede skaiciu paspauskite ENTER: ");

scanf("%i", &skaicius);

while (skaicius !=0)

{

printf("Ivede skaiciu paspauskite ENTER.: ");

scanf("%i",&skaicius);

int sk;

int s=0;

if (skaicius%2==1)

{

skaicius*skaicius==sk;

}

if (skaicius==sk);

{s++;

}

 

}

 

 

printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra: \n,", s);

 

system("pause");

return 0;

}

Redagavo andrelis1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vienas iš galimų variantų:

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int skaicius, j, masyvoIlgis, i = 0;
   int skaiciuMasyvas[100], rezultatuMasyvas[100];
   printf ("Iveskite sveika skaiciu.\nIvede skaiciu paspauskite ENTER.");
   while (skaicius !=0)
   {
       printf("Ivedinekite skaicius. Pabaiga 0: ");
       scanf("%i",&skaicius);
       skaiciuMasyvas[i] = skaicius;
       i++;
   }
   masyvoIlgis = i;
   i = 0;
   for (j = 0; j < masyvoIlgis; j++)
       if (fmod(sqrt(skaiciuMasyvas[j]), 2) != 0)
       {
           rezultatuMasyvas[i] = skaiciuMasyvas[j];
           i++;
       }
   printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:");
   for (j = 0; j < i; j++)
       printf(" %i,", rezultatuMasyvas[j]);

   system("pause");
   return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Vienas iš galimų variantų:

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int skaicius, j, masyvoIlgis, i = 0;
   int skaiciuMasyvas[100], rezultatuMasyvas[100];
   printf ("Iveskite sveika skaiciu.\nIvede skaiciu paspauskite ENTER.");
   while (skaicius !=0)
   {
       printf("Ivedinekite skaicius. Pabaiga 0: ");
       scanf("%i",&skaicius);
       skaiciuMasyvas[i] = skaicius;
       i++;
   }
   masyvoIlgis = i;
   i = 0;
   for (j = 0; j < masyvoIlgis; j++)
       if (fmod(sqrt(skaiciuMasyvas[j]), 2) != 0)
       {
           rezultatuMasyvas[i] = skaiciuMasyvas[j];
           i++;
       }
   printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:");
   for (j = 0; j < i; j++)
       printf(" %i,", rezultatuMasyvas[j]);

   system("pause");
   return 0;
}

Bet jis neveikia

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <stdio.h>

#include <stdlib.h>

int main ()

{

int skaicius=0,count=0, num;

 

for (int i=0; num!=0; i++)

{

printf("Ivede skaiciu paspauskite ENTER.: ");

scanf("%d",&num);

while (num !=0);

count++;

if (num%2 == 1)

num = skaicius;

if (skaicius*skaicius==num)

num=count;

}

printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:%d \n,", count);

system("pause");

return 0;

}

 

 

ar bent gera linkme einu?

Redagavo andrelis1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

if( (int)(sqrt(skaicius))%2==1 && ((int)sqrt(skaicius) * (int)sqrt(skaicius)) == skaicius) counter++;

Parasiau taip, bet vistiek gerai neisskaiciuoja... gal matot klaida?

 

 

#include <stdio.h>

#include <stdlib.h>

int main ()

{

int skaicius, counter=0;

printf ("Iveskite sveika skaiciu.Ivede skaiciu paspauskite ENTER.");

printf ("Pabaigoje irasykite 0:");

scanf("%i", &skaicius);

while (skaicius!=0)

{

printf("Ivedinekite skaicius. Pabaiga 0: ");

scanf("%i",&skaicius);

if ((skaicius)%2==1 && ((skaicius) * ((skaicius) == skaicius)))

counter++;}

printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:%d \n", counter);

system("pause");

return 0;

}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Parasiau taip, bet vistiek gerai neisskaiciuoja... gal matot klaida?

 

 

#include <stdio.h>

#include <stdlib.h>

int main ()

{

int skaicius, counter=0;

printf ("Iveskite sveika skaiciu.Ivede skaiciu paspauskite ENTER.");

printf ("Pabaigoje irasykite 0:");

scanf("%i", &skaicius);

while (skaicius!=0)

{

printf("Ivedinekite skaicius. Pabaiga 0: ");

scanf("%i",&skaicius);

if ((skaicius)%2==1 && ((skaicius) * ((skaicius) == skaicius)))

counter++;}

printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:%d \n", counter);

system("pause");

return 0;

}

Taigi if'a negerą parašęs. Va veikiantis kodas.

#include <stdio.h>
#include <stdlib.h>
#include <cmath>

int main()
{
int skaicius, counter = 0;
printf("Iveskite sveikus skaicius. Ivede skaiciu paspauskite ENTER. Pabaiga 0: ");
do
{
	scanf("%i", &skaicius);
	if ((int)(sqrt(skaicius)) % 2 == 1 && ((int)sqrt(skaicius) * (int)sqrt(skaicius)) == skaicius)
		counter++;
} while (skaicius != 0);
printf("Nariu, kurie yra nelyginiu skaiciu kvadratai, skaicius yra:%d \n", counter);
system("pause");
return 0;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

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ą...