Pole – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pole – C / C++ – Fórum – Programujte.comPole – C / C++ – Fórum – Programujte.com

 

Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #1
-
0
-

zdravim, vedel by mi prosim co najrychlejsie poradit ? staci mi vzorovy kod potom to uz zvladnem

potrebujem funkciu ktora vrati cele pole, vo funkcii pole naplnim a vratim

v maine toto pole potrebujem ulozit do pola vytvoreneho v maine

potom toto pole z mainu budem odovzdavat dalsim funkciam a tieto funkcie budu odovzdavat ine polia, pointerom a podobnym srandam velmi nerozumiem, v Jave by som s tym nemal problem ale C je sranda jazyk a do zatjra musim odovzdat projekt takze cim skor tym lepsie, dakujem

Nahlásit jako SPAM
IP: 147.175.146.–
Anonym
~ Anonymní uživatel
454 příspěvků
25. 11. 2013   #2
-
0
-

#1 Oliver Habara
Niečo také, napríklad? ..

int Fill_arr(double Arr[], int size) {
	int i;
	for ( i = 0; i < size; i++)
	{
		std::cout << "Cislo" << i+1 << " :____\b\b\b\b "; 
		std::cin >> Arr[i];
		
	}

	return i;
}
Nahlásit jako SPAM
IP: 178.40.117.–
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #3
-
0
-

#2 Anonym
no ani nie, ty tu len mas funkciu kde vracias int pokial dobre vidim, inak dodam este ze ta prva funkcia nema ziadne argumenty a malo by to byt robene v C nie v C++

Nahlásit jako SPAM
IP: 147.175.146.–
KIIV
~ Moderátor
+43
God of flame
25. 11. 2013   #4
-
0
-

zajimave, takhle tu sekyrovat za snahu... kdyby ses misto toho na vterinu mrkl na google, tak uz mas davno reseni

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #5
-
0
-

#4 KIIV
to nebolo mojim cielom, ak to tak vyznelo tak sa ospravedlnujem

ja sa s tym trapim od rana, myslel som si ze to bude robota na hodinu a keby neboli problemy s poliami aj by bola, takze uz som z toho dost mimo :/

ja som praveze aj dost googlil ale vsetko co som nasiel nefungovalo tak ako som potreboval

Nahlásit jako SPAM
IP: 147.175.146.–
KIIV
~ Moderátor
+43
God of flame
25. 11. 2013   #6
-
0
-

vracet pole se da obvykle pres pointery .. idealne dynamicky alokovane

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #7
-
0
-

#6 KIIV
:/ zabudol som dodat ze to musi byt staticke jednorozmerne pole a ja sa v pointeroch momentalne velmi nevyznam, nevedel by si mi prosim ta napisat konkretne priklady na tieto veci co potrebujem ? myslim ze pre kazdeho kto sa C venuje dlhsie tak pre neho by to mala byt malina, a mal by to byt kratky kod, bol by som ti velmi vdacny :)

Nahlásit jako SPAM
IP: 147.175.146.–
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #8
-
0
-

#7 Oliver Habara
momentalne to mam takto:

funkcia ktora vracia pole  

char *n()
{
	char pole[N];
	return pole;
}

v maine:

char *sekvencia[N]= {n()};


a funkcia ktora by mala prebrat pole a pracovat s nim:

void h(char pole[N])


ktora je v maine volana takto:  

h(sekvencia);


cele to je zle :/

Nahlásit jako SPAM
IP: 147.175.146.–
KIIV
~ Moderátor
+43
God of flame
25. 11. 2013   #9
-
0
-

#8 Oliver Habara
 

char *n()
{
	char pole[N];
	return pole;
}


je na stacku a jakmile skonci funkce, je to neplatna pamet (funkcni jen do doby, nez spustis nejakou jinou funkci, co ti to znici)

Muzes to maximalne definovat pomoci static - to ale zpusobi, ze ti to vrati vzdy jen jeden a ten samy pointer.

// char *sekvencia[N]= {n()};
char * sekvencia = n(); // projde
char sekvencia[] = n(); // (mozna by mohlo projit, ale nejsem si jist)

precijen takovyhle obskurdni konstrukce clovek v realnym kodu snad nepotka... (a kdybych potkal, tak toho cloveka preradim k testerum - tam muze nadelat min skody) :D

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #10
-
0
-

#9 KIIV
ten druhy sposob nejde vobec, dajme tomu ze to napisem takto

char  *sekvencia = n();
	char pole[] = {*sekvencia};
	printf("%c", pole[0]);


prvy element pola v ktorom by malo byt A tak ten sa tam aj nachadza, ak uz dal ale napriklad druhy alebo hociktory iny, tam uz niesu tie znaky ktorymi sa pole naplnilo vo funkcii, kym toto nevyriesim tak sa nikam nepohnem :/ ale musi sa to predsat dat, ci?

Nahlásit jako SPAM
IP: 85.237.224.–
KIIV
~ Moderátor
+43
God of flame
25. 11. 2013   #11
-
0
-

mozna bys mel dat presny zadani... to o co se snazis je proste narocne a hlavne naprosto k nicemu (pouzije maximalne zacatecnik, sebevrah nebo masochista)

jeden z mala pouzitelnych zpusobu je to narvat do struktury

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #12
-
0
-

#11 KIIV
ok davam sem link: http://uloz.to/x979X9U8/zpp-projekt-2013-1-pdf , momentalne riesim bod n, uz to viem skontrolovat ci su tam len tie znaky, vo funkcii viem do pola ulozit tu sekvenciu, teraz by som to chcel ukladat do toho pola v maine a pomocou neho to odovzdavat funkciam nizsie kedze tam to budem potrebovat, ked vidis ako inak to riesit sem s tym :)

este som chcel ze to skusim aj tak ze pri tych dalsich funkciach dam do argumentu tuto funkciu ktora vracia to pole, ale to by sa zakazdym nacitavalo co neviem ci je vhodne riesenie a neviem ani ci by to fungovalo

Nahlásit jako SPAM
IP: 85.237.224.–
KIIV
~ Moderátor
+43
God of flame
25. 11. 2013   #13
-
0
-

a kde je tam receno, ze musis to pole vracet z funkce? Pole nadefinujes vne, predas do funkce pro nacteni a pokracuje se pekne dal... (maximalne vratis pocet prvku co si uspesne nacetl)

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
25. 11. 2013   #14
-
0
-

#13 KIIV
kks ja som taky blb...    vzdy hladam zlozitejsie riesenia, este k tomu ked som c++ nevidel dva roky a C vobec :D diki moc za pomoc, vyzera to tak ze to funguje, len skoda ze som sa s tym zabil pol dna zbytocne :/

Nahlásit jako SPAM
IP: 78.141.100.–
KIIV
~ Moderátor
+43
God of flame
26. 11. 2013   #15
-
0
-

#14 Oliver Habara
proto sem se radsi zeptal na to zadani :) nedavalo to vubec smysl

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
26. 11. 2013   #16
-
0
-

mal by som este jednu otazku:  

char string[5];
scanf( "%s", string );


ukladam znaky do pola  cez scanf ako string, problem je ze ked zadam napriklad aaaaa co je 5 znakov tak ked dam enter spadne to pretoze ono by to chcelo este aj ten enter zapisat do pola ale pole je uz plne, aspon ja som to tak pochopil, cize ako spravit aby ten enter nebralo do pola?

Nahlásit jako SPAM
IP: 78.141.100.–
KIIV
~ Moderátor
+43
God of flame
26. 11. 2013   #17
-
0
-

#16 Oliver Habara
Omyl, ono to chce ulozit znak '\0', podle ktereho se pozna, ze je tam konec retezce.

Normalne se tedy vejde do retezce o jeden znak mene - jinak by ti to mohlo vypisovat vsechno smeti nez narazi na tu 0 (hex 0x00 / '\0'   ne '0')

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Oliver Habara
~ Anonymní uživatel
25 příspěvků
26. 11. 2013   #18
-
0
-

#17 KIIV
cize ked chcem 5 prvkove pole musim vytvorit 6 prvkove alebo sa to da osetrit nejak elegantnejsie ?

Nahlásit jako SPAM
IP: 78.141.100.–
KIIV
~ Moderátor
+43
God of flame
26. 11. 2013   #19
-
0
-

No vetsina akci s temahle stringama je takzvane "unsafe"

Jak ti nekdo zada retezec:  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

tak ti prepisuje data za pameti tvyho stringu... u tebe by mozna stacil buffer na urovni 1000znaku a nacitat necim jako fgets protoze si necha rict kolik znaku maximalne muze nacist na radek (ale mam pocit, ze i ten znak/znaky noveho radku tam ulozi, pokud prisel pred maximalni delkou)

Nahlásit jako SPAM
IP: 94.113.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý