View previous topic :: View next topic |
Author |
Message |
SkyD
Joined: 04 Oct 2006 Posts: 67
|
Posted: Sat Oct 07, 2006 5:41 pm Post subject: masīvi |
|
Sveiki.
Palasīju par masīviem, meiģināju viņus pielietot veidojot programmu, bet diemžēl aplauzos.
Tātad mans kods [līks]:
Code: |
char masivs[50];
masivs[0]='txt 1';
masivs[1]='txt 2';
cout << masivs[0];
|
.. bet izvada tikai vienu burtu.
Kā viņus pareizi japielieto ? |
|
Back to top |
|
|
Tenjou
Joined: 22 Nov 2005 Posts: 275
|
Posted: Sat Oct 07, 2006 6:23 pm Post subject: |
|
Kodā Tu izveidoji char masīvu ar 50 elementiem-50 baitiem. Viens simbols ir viens baits. Respektivi masiva array[0] spej uzglabat tikai vienu char simbolu. Ja vēlies, lai masīvs uztur visus tos Tavus simbolus vajag vienkarši:
Code: | char Array1[] = "txt1"; |
vai
Code: |
#include <string.h>
const int ArrayLenght = 50;
char Array2[MaxLength];
strncpy(Array2, "txt2", MaxLength); |
|
|
Back to top |
|
|
SkyD
Joined: 04 Oct 2006 Posts: 67
|
Posted: Sat Oct 07, 2006 7:05 pm Post subject: |
|
Tad sanāk, ka tā kā es gribu nevar izdarīt, ja?
Tad kāda jēga no masīviem, ja var ar mainīgajiem to pašu izdarīt?
Masīvs:
Code: |
char masivs1[] = 'txt';
char masivs2[] = 'txt';
|
mainīgie:
Code: |
char mainigais1="txt";
char mainigais2="txt";
|
|
|
Back to top |
|
|
coderpp
Joined: 20 Aug 2005 Posts: 167 Location: Rīga, Koknese, Gajiena
|
Posted: Sat Oct 07, 2006 9:37 pm Post subject: |
|
Code: | char * masivs[4];
masivs[1]= "txt 1";
masivs[2]= "txt 2";
masivs[3]= "txt 3";
masivs[4]= "txt 4";
cout << masivs[2};
| Vinsh izvadiis txt 2
Ar char mainigais1="txt";
char mainigais2="txt";
tu tos masiivus nemaz neizveido. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Oct 07, 2006 11:26 pm Post subject: |
|
SkyD: ja tev to vērtību daudzums ir konstants un mazs, tad no masīviem nekādas jēgas nav. Taču, ja vērtību daudzums nav zināms, vai arī tas mainās, kā arī, ja tas ir liels, tad padomā pats - kā gan tu to norealizēsi ar mainīgajiem (taisīsīsi 1000 gabalus txt1, txt2, ... , txt1000) ? |
|
Back to top |
|
|
Delfins
Joined: 20 Jan 2003 Posts: 60 Location: Riga
|
Posted: Tue Oct 10, 2006 3:18 pm Post subject: |
|
SkyD, es šaubos ka tā ir pareizi (no tava piemēra):
Code: | char mainigais1="txt"; |
PS: Imho, RTFM pa datutipiem iekš C/C++ _________________ .... ....... _ o
... ... .. _\ \>
.... ....(_)/(_) |
|
Back to top |
|
|
Oma
Joined: 20 Mar 2006 Posts: 39
|
Posted: Tue Oct 10, 2006 4:07 pm Post subject: |
|
Kaa mainiigajam char var buut veertiiba "txt" char tak ir tikai 1 simbols jeb baits laikam ja neshaubos... _________________
|
|
Back to top |
|
|
spicausis
Joined: 23 Jan 2006 Posts: 85 Location: Teika
|
Posted: Wed Oct 11, 2006 12:50 am Post subject: Re: masīvi |
|
Ja jau Tu lieto C++ (spriežot pēc std::cout lietošanas), tad tomēr ej vienkāršāko un pareizāko ceļu, un lieto stringus tur, kur tu vēlies lietot, umm, stringus.
Code: | include <iostream>
include <string>
using std::string;
using std::cout;
void main() {
string masivs[50];
masivs[0] = "txt1";
masivs[1] = "txt2";
cout << masivs[0];
} |
Kad ar šo tiksi galā, palasi par pārējām std klasēm, sākot piemēram ar vektoru, kas tev aiztaupīs mocības un problēmas, kas būs neizbēgamas, lietojot masīvus. |
|
Back to top |
|
|
|