Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

čia aš dar kartą,

 

Va tas pirmas:

 

program dvidesimt;

var kartai : integer;

aukstas, kiek: real;

 

begin

kartai := 0; aukstas := 1;

readln(kiek);

while (kiek <> 0) do

begin

if ((aukstas < 5)and (aukstas+kiek >= 5)) or ((aukstas>5)and(aukstas+kiek <= 5)) then kartai:= kartai +1;

aukstas := aukstas + kiek;

readln(kiek);

end;

writeln(kartai, 'kartø');

readln; readln

end.

 

Bet kai aš vedu pvz 1; +3, -2; +6; +3; -9; -1 ir man neskaičiuoja, gal aš nežinau kaip vest, ka vietoj tarpų dėti programoje? tai gal galite pasakyti?

 

P.S. T-mix, dėkui už pagalbą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Sveiki,

čia aš dar kartą,

 

Va tas pirmas:

 

program dvidesimt;

var kartai : integer;

aukstas, kiek: real;

 

begin

kartai := 0; aukstas := 1;

readln(kiek);

while (kiek <> 0) do

begin

if ((aukstas < 5)and (aukstas+kiek >= 5)) or ((aukstas>5)and(aukstas+kiek <= 5)) then kartai:= kartai +1;

aukstas := aukstas + kiek;

readln(kiek);

end;

writeln(kartai, 'kartų');

readln; readln

end.

 

Bet kai aš vedu pvz 1; +3, -2; +6; +3; -9; -1 ir man neskaičiuoja, gal aš nežinau kaip vest, ka vietoj tarpų dėti programoje? tai gal galite pasakyti?

 

P.S. T-mix, dėkui už pagalbą.

Kadangi naudoji readln, tai kiekvieną skaičių turi vesti naujoje eilutėje. Jei nori, kad su tarpais veiktų, naudok read(kiek); :rolleyes:

Ir nedėk jokių kablelių ar kabliataškių. :)

Beje kintamiesiems aukstas ir kiek naudok integer tipą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Dar kart tau dekui :)

 

Bet va žiūrėk kokia sąlyga:

Parašykite programą, kuri suskaičiuotų, kelis kartus vaikas buvo (t. y. liftas sustojo arba pravažiavo nesustodamas) penktame aukšte.

 

o čia skaičiuoja tik kai sustojo penktame aukšte. :rolleyes:

Ne. Skaičiuoja ir pravažiavimus nesustojant. Gerai veikia. :D
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, čia aš su dar viena problema :)

 

Uždavinys:

 

Duota programos schema natūraliųjų skaičių intervalui [m; n] tirti:

program intervalas;

var sum, m, n, i: integer;

begin

sum := 0;

readln(m, n);

for i := m to n do

...

sum := ...

writeln(sum);

end.

Daugtaškių vietoje papildykite programą taip, kad ji skaičiuotų:

a) visų intervalo skaičių kubų sumą;

b) sumą skaičių, kurie baigiasi nuliu.

 

reikia ir a ir b parašyti po atskirą variantą,

 

Aš taip parašiau:

 

a)

 

program intervalas;

var sum, m, n, i, a: integer;

begin

sum := 0;

readln(m,n);

for i := m to n do ;

 

sum := sum + i * i * i;

writeln (sum);

readln;

readln

end.

 

Bet man skaičiuoja tik paskutinio m - n intervalo skaičiu, prašau pataisyti jei nesunku.

 

Ir b)

 

program intervalas;

var sum, m, n, i: integer;

begin

sum := 0;

read(m, n);

for i := m to n do

if i mod 10 = 0

then begin

i := sum + i mod 10;

end;

writeln ('suma:'); writeln (' ' , i , ' ' );

readln;

readln

end.

 

neskaičiuoja visų skaičių, kurie dalijasi iš nulio, kaip perrašyti , kad dalytų?

 

Dekui. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pirmoje nereikia kabliataškio po "do":

program intervalas;
var sum, m, n, i, a: integer;
begin
sum := 0;
readln(m,n);
for i := m to n do;

sum := sum + i * i * i;
writeln (sum);
readln;
readln
end.

 

Antra:

program intervalas;
var sum, m, n, i: integer;
begin
sum := 0;
read(m, n);
for i := m to n do
if i mod 10 = 0
then begin
sum := sum + i;
end;
writeln ('suma:'); writeln (' ' , i , ' ' );
readln;
readln
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ir paskutinė problema šiandien:

 

Kubiniu automorfiniu skaičiumi vadinamas toks skaičius, kurio skaitmenys sutampa su jo kubo paskutiniais skaitmenimis. Pavyzdžiui, 63 = 216; 513 = 132651.

Parašykite algoritmą (programą) didžiausiam intervalo [1; 1000] kubiniam automorfiniam skaičiui rasti.

 

Sukūriau programą:

 

program kubin;

var x,a,i: integer;

y,b : integer;

 

begin

Writeln ('Áveskite skaièiø nuo 1 iki 1000');

read (x, b);

for i:= x to b do;

if (x > 1) and (b<= 1000) then;

y:= i * i * i ;

if y mod 10 = i then writeln ('Kubinis aforizmas yra:', y);

end.

 

 

 

Bet jeigu pvz ivedi 1 - 6 tai rašo: 216

 

bet jegu 1-7 tai nieko nerašo, nes pas mane rašo kai tik tas skaičius būna paskutinis, kaip perdaryti kad skaičiuotų viską gerai?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Štai, tau "automorfinio" sprendimas:

 

program u_18;

var sk, didziausias : integer;

begin

sk := 0;

while sk <= 1000 do

begin

if (sk < 10) and ((sk * sk * sk mod 10) = sk) then didziausias := sk;

if (sk < 100) and (sk > 10) and ((sk * sk * sk mod 100) = sk) then didziausias := sk;

if (sk < 1000) and (sk > 100) and ((sk * sk * sk mod 1000) = sk) then didziausias := sk;

sk := sk + 1;

end;

Writeln(didziausias);

Readln;

end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...

program Noname48;

var C,DEL:array [1..10] of integer;

i,a,b,d,n,f,sum,sum2:integer;

{============skaiciuoju daliklius=============}

procedure dalikliai;

begin

WriteLn('Iveskite du skaicius');

read (a,b);

sum:=0;

sum2:=0;

for i:=1 to a do begin

if a mod i=0 then begin

d:=d+1;

C[d]:=i;

end;

end;

for i:=1 to b do begin

if b mod i=0 then begin

d:=d+1;

C[d]:=i;

end;

end;

writeln ('Suformuotas C masyvas');

for i:=1 to d do write (C:4);

end;

{=====================rikiuoju didejancia tvarka ir mazejancia==================================}

procedure rikiuoju;

var min,max,k,t,o:integer;

begin

for i:=1 to d-1 do begin

min:=C;

k:=i;

for o:=i+1 to d do

if min>C[o] then begin

min:=C[o];

C[o]:=C;

C:=min;

end;

end;

 

writeln;

writeln ('Mazejimo tvarka: ');

for i:=1 to d do write (C:4);

for i:=1 to d-1 do begin

max:=C;

t:=i;

for o:=i+1 to d do

if max<C[o] then begin

max:=C[o];

C[o]:=C;

C:=max;

end;

end;

writeln;

writeln ('Didejimo tvarka: ');

for i:=1 to d do write (C:4);

end;

{================ismetame vienodus skaicius==============}

procedure skaiciai;

var ?:integer;

begin

???????

end;

begin

dalikliai;

rikiuoju;

skaiciai;

Readln;

end.

 

Vietoj klaustuku reikia suformuoti DEL masyva, kuriame būtų C masyvo skaičai tik iš jo išmesti pasikartojantys skaičiai pvz.: C masyvas 1 1 4 2 2 5 6, DEL masyvas turi gautis 1 4 2 5 6

 

Reikia rytojuj :)

Redagavo trops
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Vietoj klaustuku reikia suformuoti DEL masyva, kuriame būtų C masyvo skaičai tik iš jo išmesti pasikartojantys skaičiai pvz.: C masyvas 1 1 4 2 2 5 6, DEL masyvas turi gautis 1 4 2 5 6

 

Eini per C masyvą. Imi einamąjį C masyvo elementą ir, pereidamas per visą DEL masyvą, patikrini, ar einamojo C masyvo elemento jame nėra. Jeigu, nėra dedi šį elementą į DEL masyvą :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Eini per C masyvą. Imi einamąjį C masyvo elementą ir, pereidamas per visą DEL masyvą, patikrini, ar einamojo C masyvo elemento jame nėra. Jeigu, nėra dedi šį elementą į DEL masyvą :)

 

program Noname48;

var C,DEL:array [1..10] of integer;

i,a,b,d,n,f,sum,sum2:integer;

{============skaiciuoju daliklius=============}

procedure dalikliai;

begin

WriteLn('Iveskite du skaicius');

read (a,b);

sum:=0;

sum2:=0;

for i:=1 to a do begin

if a mod i=0 then begin

d:=d+1;

C[d]:=i;

end;

end;

for i:=1 to b do begin

if b mod i=0 then begin

d:=d+1;

C[d]:=i;

end;

end;

writeln ('Suformuotas C masyvas');

for i:=1 to d do write (C:4);

end;

{=================rikiuoju didejancia tvarka ir mazejancia===========================}

procedure rikiuoju;

var min,max,k,t,o:integer;

begin

for i:=1 to d-1 do begin

min:=C;

k:=i;

for o:=i+1 to d do

if min>C[o] then begin

min:=C[o];

C[o]:=C;

C:=min;

end;

end;

 

writeln;

writeln ('Mazejimo tvarka: ');

for i:=1 to d do write (C:4);

for i:=1 to d-1 do begin

max:=C;

t:=i;

for o:=i+1 to d do

if max<C[o] then begin

max:=C[o];

C[o]:=C;

C:=max;

end;

end;

writeln;

writeln ('Didejimo tvarka: ');

for i:=1 to d do write (C:4);

end;

{================ismetame vienodus skaicius==============}

procedure skaiciai;

var pr,j,z:integer;

begin

for i:=1 to d-1 do begin

pr:=C;

z:=i;

for j:=i+1 to d do

if pr<>C[j] then DEL:=C;

end;

writeln;

for i:=1 to d do write (DEL);

end;

begin

dalikliai;

rikiuoju;

skaiciai;

Readln;

end.

 

Kažkas tokio? nelabai suprantu :)

Redagavo trops
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Kažkas tokio? nelabai suprantu :)

 

Tingiu gilintis į paskalio sintaksę (pamiršęs jau). Tarkim, C++'e būtų kažkas tokio:

boolean rasta;
int DEL_kiekis = 0;
for (int i = 0; i < d; i++) {
  rasta = false;
  for (int j = 0; j < DEL_kiekis; j++) {
   if (C[i] == DEL[j])
	  rasta = true;
  }
  if (!rasta) {
  DEL[DEL_kiekis] = C[i];
  DEL_kiekis++;
  }
}

 

Šiaip galima būtų ir gražiau, bet čia ant greitųjų... Į Pascal'į mano persiversi...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taigi masyvas isrikiuotas, nebutina per visa pereiti. Uztenka tik patikrinti, ar i+1'asis elementas nelygus i'tajam ir, jei nelygus, itraukti i nauja masyva.

 

for i:=1 to d-1 do if C <> C[i+1] then begin

dKiek := dKiek + 1;

del[dKiek]:=C;

end;

del[dKiek+1]:=C[d];

 

Kazkas tokio. Bet rasau is telefono, tai neatsakau, jei ir kokia klaidele iveliau. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Taigi masyvas isrikiuotas, nebutina per visa pereiti. Uztenka tik patikrinti, ar i+1'asis elementas nelygus i'tajam ir, jei nelygus, itraukti i nauja masyva.

 

for i:=1 to d-1 do if C <> C[i+1] then begin

dKiek := dKiek + 1;

del[dKiek]:=C;

end;

del[dKiek+1]:=C[d];

 

Kazkas tokio. Bet rasau is telefono, tai neatsakau, jei ir kokia klaidele iveliau. :)

 

Neatkreipiau dėmesio, kad surikiuotas jau. Tokiu atveju tai taip, tavo variantas geresnis :)

Redagavo CR1M1N4L
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Kas galit padet reikia apskaiciuoti trimestro vidurki pazymiai ivedami vienas po kito ju seka nutraukia bet koks skacius nepriklausantis intervalui 1-10 .Vidurkis skaiciuojamas pagal formule (suma+kiekis div 2)div kiekis .

Aciu.

repeat
  begin
  readln(sk);
  suma += sk;
  kiekis++;
  end;
until
  (sk < 1) OR (sk > 10)
vidurkis = (suma + kiekis div 2) div kiekis;

 

Esmė tokia būtų.

Taip žinau, belenkiek sintaksės klaidų čia :)

Redagavo CR1M1N4L
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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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