Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

nizovi stringa...

[es] :: C/C++ programiranje :: nizovi stringa...

[ Pregleda: 3419 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.cmu.carnet.hr.



+26 Profil

icon nizovi stringa...14.03.2006. u 18:47 - pre 220 meseci
evo imam npr jedan jednostava kod... ali me j*b* u zdrav mozak...
Code:

#include<iostream>
#include<conio.h>
using namespace std;
int main(void)
{
        short int f;
        cin>>f;
        char s[f][f];
        for(int i=0;i<=f;i++){
        cin.getline(s[i],'\n');}
cout<<s[1];
    getch();
    return 0;
}

evo ovo je kod...
zar nije s[1] drugi string? odnosno ono što se unese u drugoj liniji... i kad ispisujem to ispišu se sva tri stringa znači prelazi mi "preko" kao da nema \0 na kraju stringa zašto kako??? kompajler je mingw odnosno dev-cpp IDE jednostavno ne kužim svaka pomoć dobrodošla...

[Ovu poruku je menjao X Files dana 15.04.2009. u 08:56 GMT+1]
there's no place like 127.0.0.1
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: nizovi stringa...14.03.2006. u 19:15 - pre 220 meseci
Tu sam se i ja mucio..
Totalno je glupo raditi polja char tipa podataka..
Ako koristis C++,radije koristi tip string.
Dakle:

#include<iostream>
void main()
{
string rijec[50];
rijec[1]="Bok";
rijec[2]="Zdravo";
}

Na taj nacin si napravio polja stringova i
tako si popunio polje 1 i 2,a ne kao kod
charova kada napises char[1]=samo 1 znak.
Dakle string[3] znaci
| | | | | | | | | | | | | | | | | | | |-->string1
| | | | | | | | | | | | | | | | | | | |-->string2
| | | | | | | | | | | | | | | | | | | |-->string3

A char[3] znaci
| char[1] | char[2] | char[3] |
Nadam se da kuzis :)
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.cmu.carnet.hr.



+26 Profil

icon Re: nizovi stringa...15.03.2006. u 16:18 - pre 220 meseci
ma trebam baš sa char... daj neko preuredi ovaj zadatak da funkcionira tak da skužim...
there's no place like 127.0.0.1
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.cmu.carnet.hr.



+26 Profil

icon Re: nizovi stringa...16.03.2006. u 09:22 - pre 220 meseci
ma skužio...
#include<iostream>
#include<conio.h>
using namespace std;
int main(void)
{
short int f;
cin>>f;
f++
char s[f][f];
for(int i=0;i<=f;i++){
cin.getline(s,'\n');}
cout<<s[1];
getch();
return 0;
}

zato jer je ispunilo sva polja i zaista nije bilo \0 na kraju...
there's no place like 127.0.0.1
 
Odgovor na temu

brcha
Filip Brčić
Beograd, Serbia

Član broj: 440
Poruke: 436

Jabber: brcha@kdetalk.net
ICQ: 40994923
Sajt: brcha.com


+2 Profil

icon Re: nizovi stringa...16.03.2006. u 09:30 - pre 220 meseci
Citat:
w3bl0rd: ma skužio...
#include<iostream>
#include<conio.h>
using namespace std;
int main(void)
{
short int f;
cin>>f;
f++
char s[f][f];
for(int i=0;i<=f;i++){
cin.getline(s,'\n');}
cout<<s[1];
getch();
return 0;
}


Ali nisi baš najbolje skužio :) Treba da učitavaš u s[_i] (podvlaku ignoriši, tu je zbog nemogućnosti ovog foruma da napiše i u uglastim zagradama a da to ne tumači kao italik), a ne u s. Takođe, ne treba da ideš do f već do f-1, što se najlakše piše tako što staviš uslov u petlji da bude i < f. Tj. ova tvoja petlja treba da izgleda ovako:

Code:

for (int i=0; i<f; i++){
   cin.getline(s[i], '\n');
}


Pozdrav
Filip
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..81.static.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: nizovi stringa...16.03.2006. u 12:39 - pre 220 meseci
Kao sto je vec receno, predlazem koriscenje std::string-a u C++-u.

Code:

/*********************************************************\
file:        weblord01.cpp
compile:     g++ weblord01.cpp -o weblord01
run:         ./weblord01
author(s):   Dejan Lekic, http://dejan.lekic.org
\*********************************************************/

#include <cstdio>
#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
  short int f;
  char buf[1024];
  cout << "Dimenzija: ";
  cin >> f;
  char s[f][f];
  cout << "prompt> ";
  for(int i=0; i<f; i++)
  {
    cin.getline(buf, 1024);
    buf[1023] = '\0'; // paranoja :)
    strcpy(s[i], buf);
  }
  cout << s[1] << endl;
  getchar();
  return 0;
}

/* Rezultat
Dimenzija: 5
prompt> Pera
Mika
Zika
Gruja
Laza
Pera
*/


[Ovu poruku je menjao leka dana 16.03.2006. u 13:49 GMT+1]
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: nizovi stringa...16.03.2006. u 13:25 - pre 220 meseci
Code:

  short int f;

  // ...

  cout << "Dimenzija: ";
  cin >> f;

  char s[f][f];



Jako me zanima kojim to kompajlerima vi prevodite C kod u kom je *statichka* dimenzija niza inicijalizovana *promenljivom* vrednoshcu.


[Ovu poruku je menjao NastyBoy dana 16.03.2006. u 14:26 GMT+1]
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Zabrana instanciranja šablona za određeni tip?16.03.2006. u 13:38 - pre 220 meseci
Citat:
NastyBoy:


Jako me zanima kojim to kompajlerima vi prevodite C kod u kom je *statichka* dimenzija niza inicijalizovana *promenljivom* vrednoshcu.


Verovatno gcc. C99 standard je uveo Variable length arrays.

[Ovu poruku je menjao Dragi Tata dana 16.03.2006. u 14:39 GMT+1]
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..81.static.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: nizovi stringa...16.03.2006. u 13:43 - pre 220 meseci
Pre bih rekao da je C++ kod nego C kod...

Usput, lepo u zaglavlju koda pise koji kompajler je u pitanju: "compile: g++ weblord01.cpp -o weblord01" :)


[Ovu poruku je menjao leka dana 16.03.2006. u 14:46 GMT+1]
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Zabrana instanciranja šablona za određeni tip?16.03.2006. u 13:46 - pre 220 meseci
Ma pričali smo o tome ranije. gcc dozvoljava neke C99 konstrukcije i u C++ kodu.
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: nizovi stringa...16.03.2006. u 13:48 - pre 220 meseci
Microsoft taj kod ne prevodi.
A ni GCC4 na Mac-u. Jedino josh da probam GCC3.x na Soniju pa da dizhem ruke od C99.


* Off-topic : mislim da su v-len nizovi losha ideja u svakoj primeni sem trivijalnih, narochito ako ih kompajler automatski smeshta na stek.... shto opet ne vidim kako mozhe efikasno i optimizovano da izvede ako unapred ne zna layout varijabli, narochito ako se takav niz prvi smeshta na stek... bad idea...
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Zabrana instanciranja šablona za određeni tip?16.03.2006. u 13:48 - pre 220 meseci
Uzgred, ako neko od "funkcionera" prati ovaj forum - u poslednje vreme se često dešava da postovi koje šaljem imaju subject: Re: Zabrana instanciranja šablona za određeni tip?
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.lionbridge.com.



+6 Profil

icon Re: Zabrana instanciranja šablona za određeni tip?16.03.2006. u 13:51 - pre 220 meseci
Citat:
NastyBoy: Microsoft taj kod ne prevodi


Pa i ne treba da ga prevodi - to nije standardan C++. Inače, na gcc-u probaj da kompajliraš kao C (gcc) a ne C++ (g++). Trebalo bi da radi i na 4.0. Milo mi je da su sredili taj bag da je i C++ kompajlirao VAL
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.dsl.pipex.com.



+4 Profil

icon Re: nizovi stringa...16.03.2006. u 13:55 - pre 220 meseci
Citat:
Pa i ne treba da ga prevodi - to nije standardan C++


Naravno, zato sam i pomenuo MS i postavio off-topic pitanje.
Onaj post sam izgleda pisao u isto vreme sa tvojim "gcc dozvoljava neke c99 konstrukte" komentarom.
 
Odgovor na temu

[es] :: C/C++ programiranje :: nizovi stringa...

[ Pregleda: 3419 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.