Pereiti prie turinio

FPS programavimas, padėkite.


Rekomenduojami pranešimai

Ačiū labai, bet bėda ta, kad buvau jau taip padarius ir mokytoja neužskaitė.. Nes pvz jei pradinis laikas 20:24, o galutinis 02:15, tai atėmus gauname atsakymą minuso ženkle.. Galvoju, kad gal reiktų rašyt kažką panašaus į: (if min<0 then min:=min+60). Tuomet ir vieną h atimt (h:=h-1). Kažkas panašaus ir su valandom turėtų būt: (if h<0 then h:=h+24). Bėda ta, kad nemoku parašyt.. :(

 

Maždaug teisingai mąstai, tik manau reiktų tikrint ar galutinės valandos mažesnės už pradines. Jei taip, tada, kaip ir rašei, pridedam 24 valandas. Tavo minėtu atveju gaunasi:

(02+24) - 20 = 6 valandos :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Maždaug teisingai mąstai, tik manau reiktų tikrint ar galutinės valandos mažesnės už pradines. Jei taip, tada, kaip ir rašei, pridedam 24 valandas. Tavo minėtu atveju gaunasi:

(02+24) - 20 = 6 valandos :)

Ačiū už pastebėjimus. :rolleyes:

Tik tiek, kad parašyt niekaip nesugebu. :(

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 mėnesių...

Gal galėtumėte man padėti?

Turiu tokį uždavinį: Iš šešiaženklio skaičiaus išimti visus skaitmenis kurie lygūs 4 ir 7

Bučiau labai dėkingas :)

Jei teisingai supratau tai programa turėtų atrodyti štai taip:

 

program programa;
var sk:longint;
   i, ilgis:integer;
   a:array[1..6] of byte;
begin
readln(sk);
ilgis := 0;

while sk > 0 do
   begin
   ilgis := ilgis + 1;
   a[ilgis] := sk mod 10;
   sk := sk div 10;
   end;

for i:=ilgis downto 1 do
   begin
   if (a[i] <> 4) and (a[i] <> 7) then
       sk := sk + a[i] * (10**(i-1));
   end;
writeln(sk);
readln;
end.

Redagavo audrius^
Nuoroda į pranešimą
Dalintis kituose puslapiuose

var sk:longint;
   liekana:integer;
begin
readln(sk);
liekana := sk div 100000 mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
liekana := sk div 10000 mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
liekana := sk div 1000 mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
liekana := sk div 100 mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
liekana := sk div 10 mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
liekana := sk mod 10;
if (liekana <> 4) and (liekana <> 7) then write(liekana);
readln;
end.

Nu paprasčiausia versija be jokių ciklų...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiek tiek patobulinau prieš tai esantį kodą

program programa;
var sk              :longint;
   i, ilgis, d 	:longint;
   a:array[1..6] of byte;
begin
readln(sk);
ilgis := 0;
d 	:= 1;
while sk > 0 do
   begin
     ilgis := ilgis + 1;
     a[ilgis] := sk mod 10;
     sk := sk div 10;

   end;
for i:= 1 to ilgis do
   begin
  	if (a[i] <> 4) and (a[i]<> 7) then
  		begin
    		sk:= sk + a[i] * d;
    		d := d * 10;
  		end;
   end;
writeln(sk);
readln;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 3 savaičių...
Svečias
Ši tema yra užrakinta ir joje nebegalima rašyti naujų pranešimų.
  • 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ą...