Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  c++ (vajaks natuke abi) märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
õppur01
HV vaatleja

liitunud: 22.03.2012




sõnum 22.03.2012 11:24:38 c++ (vajaks natuke abi) vasta tsitaadiga

Tervist, probleem seisneb nimelt selles, et kuidas ma saan teha nii, et ta tunneb ära mitu tähte ja numbrit on sisestatud autonumbrimärgis?
Oleks väga tänulik abi eest!
tagasi üles
vaata kasutaja infot saada privaatsõnum
Mnator
HV Guru

liitunud: 18.10.2007




sõnum 22.03.2012 11:36:37 vasta tsitaadiga

Kuna vigu, mida võidakse sisestaja poolt teha, on väga erinevaid, siis kõige kindlam ( ja lihtsam samal ajal ) on analüüsida sisestatud stringi igat märki ükshaaval. Selle analüüsi käigus tuvastad kohe lubamatud sümbolid ja saad samal ajal üle lugeda palju neist olid numbrid ja palju neist tähed. Eri riikide numbrimärkide standardid on erinevad + eritellimusmärgid ..... seega küllalt totter ülesanne koolis antud..............
Aga stringitöötluse harjutamiseks muidugi kõlbab.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 22.03.2012 13:20:48 vasta tsitaadiga

Mnator, OP ei tahtnud mitte teada kuidas ta peaks tundma ära autonumbrimärke, vaid seda, mitu tähte ja numbrit seal on. Ilmselt on ette antud nimistu numbrimärkidest ja seda tuleb analüüsida.

Lahendus on muidugi õige. Analüüsida võid lihtsalt iga tähemärki. Teine võimalus on kasutada regulaaravaldisi ning sealt saad kõik vajalikud korraga.

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
webromps
HV kasutaja

liitunud: 13.06.2005



Autoriseeritud ID-kaardiga

sõnum 23.03.2012 11:47:14 vasta tsitaadiga

Kunagi TTÜs Teodori aines C oli mingi sarnane ülesanne.
Igastahes antud värk peaks töötama
#include <stdio.h> // standardne sisend-väljund
#include <conio.h> // klaviatuur-kuvar
#include <string.h> //stringi pikkuse jaoks 'strlen' ... 'string lenght'
int main(void)
{
    char autonr[50]; //reg.number
    char c; //kasutan numbri ühik-haaval kindlaks määramiseks, kas tegemist on numbri või tähega
    int nr_pikkus; //ilmselgelt reg.numbri pikkus
    int pos; //positsioon reg.numbris
    int nr=0; //numbrite arv
   int ch=0; //tähtede arv
   
    printf("Sisestage auto registreerimisnumber> \n");
    scanf("%s", &autonr);  //salvestab numbri   

    nr_pikkus=strlen(autonr);  //reg.numbri pikkus, mitu tähemärki, koos nmbritega
   
    pos=0; //positsiooni algväärtustamine 0, see tähendab, alustame sõna algusest ehk esimeset tähest
   
    while(c=autonr[pos++]) {
      if(c>='1' && c<='9') {
         nr++; //loeb ära, mitu numbrit seal esineb
      } else {
         ch++; //ülejäänud karakterid
      }

    getch();
    return 0;

}

Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Hazar
Kreisi kasutaja
Hazar

liitunud: 24.08.2004




sõnum 11.04.2012 23:34:35 vasta tsitaadiga

webromps kirjutas:
Kunagi TTÜs Teodori aines C oli mingi sarnane ülesanne.


ja isegi eelmine aasta oli täpselt sama ülesanne icon_lol.gif
Kommentaarid: 29 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  c++ (vajaks natuke abi)
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.