pajautaa

« previous entry | next entry »
Maijs. 2., 2006 | 09:12 pm
posted by: phoenix in pajautaa

Jautaajums:
Vai var noteikt no faila nolasītā simbola datu tipu - vai tas ir char vai int?
ja var, tad kā? c++ vide

Iz vestures:
esmu jau meeghinajausi iztikt bez shiis paarbudes, bet nu nekaadiigi taa lieta nekust uz priekshu! man vaig no faila, kuraa katraa rindinjaa atrodas vai nu burti, vai integeri, saskaitiit kopeejo summu katras rindinjas cipariem (ja taa ir rindinja, kuraa atrodas skaitlji). Rindinjaa, kuraa ir burti, neko nevaig dariit.

A es maaku tikai nolasiit simbolus un tos ielasiit mainiigajaa, kuram jau ieprieksh esmu pateikusi, vai tas ir int, vai char. A taa kaa nezinu, kaada datu tipa simbols no faila tiks nolasiits, nevaru izveeleeties tā mainiigā datu tipu, kuraa tiks saglabaata nolasiitaa veertiiba!

# | jā, ir doma! | Add to Memories


Comments {20}

from: [info]petro
date: Maijs. 2., 2006 - 11:24 pm
#

Nu man dzimtā valoda ir paskāls, no C maz ko jēdzu tāpēc arī pašam bij interesanti parakties tālāk.
A paskālā es to būtu darījis tā:

var s :string;
code, idx, sum: integer
alldigits : boolean;
BEGIN
alldigits := true;
sum := 0;
for idx := 1 to length(s) do begin
code := ord(s[idx]);
if (code < 48) or (code > 57) //ja nav cipars
then break //tad pārtraucam ciklu
else sum := sum + (code-48)
end; //for
END.


Atbildēt | Iepriekšējais | Diskusija


from: [info]petro
date: Maijs. 2., 2006 - 11:52 pm
#

vai precīzāk tā:

function SumDigits (s:String):integer;
(* ja kāds simbols nav cipars tad atgriežam -1
   citādi rezultāts ir visu ciparu summa  *)
var code, idx: integer
  begin
    return := 0;
    for idx := 1 to length(s) do begin
      code := ord(s[idx]);
      if (code < 48) or (code >57) //ja nav cipars
      then begin
        return := -1;
        break                      //tad pārtraucam ciklu
      end
      else return := return + (code-48)
    end; //for
  end;

Atbildēt | Iepriekšējais | Diskusija


XOOX. Cilvēks.

from: [info]xoox
date: Maijs. 3., 2006 - 01:26 am
#

a tur nav teikts, ka nevar būt negatīvi cipari arī ;)
piekasos :o)

Atbildēt | Iepriekšējais | Diskusija


from: [info]petro
date: Maijs. 3., 2006 - 07:24 am
#

a cipari arī nevar būt negatīvi :) negatīvi var būt sakitļi bet tad tas tiek izteikts kā minimums ar 2 simboliem.

Atbildēt | Iepriekšējais