Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 4.847 pregleda

Najnovija ↓

nizovi stringa... 14.03.2006. u 19:47 · pre 251 mesec
izmenjeno 1 put, poslednji put X Files 15.04.2009. u 08:56
  1. X Files15.04.2009. u 08:56zapis iz teksta poruke
#1
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...
Potpis
there's no place like 127.0.0.1
Re: nizovi stringa... 14.03.2006. u 20:15 · pre 251 mesec #2
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 :)
Re: nizovi stringa... 15.03.2006. u 17:18 · pre 251 mesec #3
ma trebam baš sa char... daj neko preuredi ovaj zadatak da funkcionira tak da skužim...
Potpis
there's no place like 127.0.0.1
Re: nizovi stringa... 16.03.2006. u 10:22 · pre 251 mesec #4
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...
Potpis
there's no place like 127.0.0.1
Re: nizovi stringa... 16.03.2006. u 10:30 · pre 251 mesec #5
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
Potpis
... and the aliens sent an android down to earth, to slow down mankind's development
... and they named it Bill Gates.
Re: nizovi stringa... 16.03.2006. u 13:39 · pre 251 mesec
izmenjeno 1 put, poslednji put leka 16.03.2006. u 13:49
  1. leka16.03.2006. u 13:49zapis iz teksta poruke
#6
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
*/
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: nizovi stringa... 16.03.2006. u 14:25 · pre 251 mesec
izmenjeno 1 put, poslednji put NastyBoy 16.03.2006. u 14:26
  1. NastyBoy16.03.2006. u 14:26zapis iz teksta poruke
#7
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.
Re: Zabrana instanciranja šablona za određeni tip? 16.03.2006. u 14:38 · pre 251 mesec
izmenjeno 1 put, poslednji put Dragi Tata 16.03.2006. u 14:39
  1. Dragi Tata16.03.2006. u 14:39zapis iz teksta poruke
#8
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.
Potpis
IOCC
Re: nizovi stringa... 16.03.2006. u 14:43 · pre 251 mesec
izmenjeno 1 put, poslednji put leka 16.03.2006. u 14:46
  1. leka16.03.2006. u 14:46zapis iz teksta poruke
#9
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" :)
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: nizovi stringa... 16.03.2006. u 14:48 · pre 251 mesec #11
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...
Re: Zabrana instanciranja šablona za određeni tip? 16.03.2006. u 14:48 · pre 251 mesec #12
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?
Potpis
IOCC
Re: Zabrana instanciranja šablona za određeni tip? 16.03.2006. u 14:51 · pre 251 mesec #13
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
Potpis
IOCC
Re: nizovi stringa... 16.03.2006. u 14:55 · pre 251 mesec #14
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme