« 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!
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!
from: petro
date: Maijs. 2., 2006 - 11:24 pm
#
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: petro
date: Maijs. 2., 2006 - 11:52 pm
#
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
from: xoox
date: Maijs. 3., 2006 - 01:26 am
#
piekasos :o)
Atbildēt | Iepriekšējais | Diskusija
from: petro
date: Maijs. 3., 2006 - 07:24 am
#
Atbildēt | Iepriekšējais