Zjištění prázdného pole – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zjištění prázdného pole – C / C++ – Fórum – Programujte.comZjištění prázdného pole – C / C++ – Fórum – Programujte.com

 

Honza
~ Anonymní uživatel
451 příspěvků
21. 1. 2013   #1
-
0
-

Ahoj,

mám stupidní dotaz, ale nějak se mi nepodařilo najít řešení. Mám jednorozměrné pole a potřeboval bych zjistit, zda je prázdné či nulové. Musím procházet každý prvek nebo to jde nějakým takovýmto způsobem:


double pole_nulove[10] = 0;
double pole_null[10] = null;
 
if (pole_k_otestovani == pole_nulove){
	...
	...
}
else if (pole_k_otestovani == pole_null {
	...
	...
}
else {
	...
	...
}

Díky za jakoukoliv pomoc.

Nahlásit jako SPAM
IP: 195.113.242.–
vitamin+8
Grafoman
21. 1. 2013   #2
-
0
-

#1 Honza
Musis prechadzat kazdy prvok.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Honza
~ Anonymní uživatel
451 příspěvků
21. 1. 2013   #3
-
0
-

#2 vitamin
Díky, to jsi mě moc nepotěšil :)

Ještě bych měl dotaz se strukturama. Nejde mi vložit hodnota do  dynamicky alokované vlastnosti struktury.

Chtěl bych mít například z value pole o délce 8. Zkoušel jsem různé kombinace zápisu na druhém řádku, ale nemůžu se trefit.


typedef struct frame {double *value[]; double *location[];} input_frame;

input_frame.value = (double *)malloc(sizeof(double)*8);
input_frame.value[0] = 1;
Nahlásit jako SPAM
IP: 2001:718:7:204:c1ca:8bd2:...–
zlz
~ Anonymní uživatel
634 příspěvků
21. 1. 2013   #4
-
0
-

double *value[] je pole ukazatelů na double

Nahlásit jako SPAM
IP: 78.156.159.–
vitamin+8
Grafoman
21. 1. 2013   #5
-
0
-

   

typedef struct{
	double *value; 		//staci 1 pointer
	double *location;
}frame;
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Honza
~ Anonymní uživatel
451 příspěvků
21. 1. 2013   #6
-
0
-

#5 vitamin
Super :). Tak jsem to změnil na toto: 

typedef struct {double *value; double *location;} frame;

frame.value = (double *)malloc(sizeof(double)*8);


a píše mi to chybu k druhému řádku: error: expected primary-expression before '.' token

nemusím tam někam napsat, že to bude pole? Nebo si to pozná z té délky 8? Dík

Nahlásit jako SPAM
IP: 195.113.242.–
21. 1. 2013   #7
-
0
-

frame je datový typ. Pokud chceš s ním pracovat, vytvoříš si proměnnou:

typedef struct {double *value; double *location;} frame;

frame MyFrame;

MyFrame.value = (double *)malloc(sizeof(double)*8);

hu

Nahlásit jako SPAM
IP: 195.178.67.–
vitamin+8
Grafoman
21. 1. 2013   #8
-
0
-

#6 Honza
 

int pole[10];   //toto je pointer na prvy prvok pola ktore ma 10 prvkov

int* ptr = 0;   //toto je obycajny pointer

ptr = pole;	//pointer @ptr ukazuje na tan isty prvok ak @pole
Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Honza
~ Anonymní uživatel
451 příspěvků
21. 1. 2013   #9
-
0
-

#7 hlucheucho


#6 Honza

Aha, já myslel, že je to proměnná. Změnil jsem to a bez chyby. Díky Všem. Nečekal jsem, že budete tak rychle reagovat, super.

Honza

Nahlásit jako SPAM
IP: 195.113.242.–
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, 32 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ý