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}

scope

from: [info]scope
date: Maijs. 2., 2006 - 09:41 pm
#

kas par valodu?
ja C vai C++, tad lasi ieksh stringa(char masīva) un pēc tam mēģini ar atoi() pārvērst uz int, čekojot vai sanāca pārveide.

Atbildēt | Diskusija


phoenix

from: [info]phoenix
date: Maijs. 2., 2006 - 09:43 pm
#

jaa, c++.
pameeghinaashu to atoi()

Atbildēt | Iepriekšējais


phoenix

from: [info]phoenix
date: Maijs. 2., 2006 - 09:52 pm
#

a kaa iisti ar vinju jaastraadaa?
ja man ir:
char mas[10], kur mas[1]==4 (taatad 4 kaa chars),
tad, lai sho char tipa 4, kas glabaajas mas[1] dabuutu kaa int 4 un ielasiitu int mainiigajaa d, man:
int d=atoi(mas[1]) ?

Shitaa man komplitaros neljauj riikoties.

Atbildēt | Iepriekšējais | Diskusija


scope

from: [info]scope
date: Maijs. 2., 2006 - 10:11 pm
#

neļauj, jo mas[1] nav char*
nez, moā ja vajag to mas[1] pārveidot, tad ņem kaut vai atoi((char*)mas[1]) bet šķiet var arī smukāk to izdarīt, tik uz sitiena neatceros

reku reference tam atoi()
http://www.elook.org/programming/c/atoi.html

Atbildēt | Iepriekšējais | Diskusija


from: [info]petro
date: Maijs. 2., 2006 - 10:57 pm
#

No tās pašas references šis manuprāt ir piemērotāks.
http://www.elook.org/programming/c/isdigit.html

Atbildēt | Iepriekšējais | Diskusija


phoenix

from: [info]phoenix
date: Maijs. 2., 2006 - 11:02 pm
#

aa!
shitas izskataas,ka vareetu ndoereet!
bet taa kaa esmu jau taa sevi samociijusi ar shito idiotiski mazo problemeu, ka avirs sakariigi padomaat nevaru, tad shovakar metiishu mieru. Ljoti, ljoti ceru, ka riit diena buus labveeliigaaka (jeb manas smadzenes).

Atbildēt | Iepriekšējais


scope

from: [info]scope
date: Maijs. 2., 2006 - 11:04 pm
#

aha, tā izskatās.
atklāti sakot nav nācies šo isdigit() lietot, jo parasti jau dati nāk "smukā" stringā :)

P.S. tas iepriekšējais bij googles 1. lapas atbilde, lai autorei iedotu skaidrojumu par atoi(). nebij vēlēšanās no DOS-īgā C helpa viņu vilkt laukā...

Atbildēt | Iepriekšējais | Diskusija


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