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.

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