kolla om element i arrayer är toma, c++

Permalänk

kolla om element i arrayer är toma, c++

Gör ett program med arrayers.
När jag kör programmet kanske jag fyller 5 av 10 element i en arrayer med data.

Nu vill jag göra en funktion som kollar om elementen är toma eller fulla med data, så att man inte kan skriva över ett redan fullt (eller upptaget) element.

Hur gör jag för att kolla om ett element är "ledigt"?

Permalänk
Medlem

OBS koden är för java men borde ge dig ett hum om vad du letar efter. Vad en tom plats i en array returnerar kan vara annorlunda i C++ t.ex. (-1) eller nåt. Letade på www.cplusplus.com men hittade ingen info

public class Test
{
public static void main(String args[])
{
String[] Mtr = new String[4];
Mtr[0] = "lalala0";
Mtr[2] = "lalala2";
Mtr[3] = "lalala3";

int raknare = -1;
for(int i = 0 ; i < Mtr.length ; i++)
{
raknare++;
if(Mtr[i] == null )
{
System.out.println("Vardet på plats " + raknare + " är tom");
}
}
}
}

Visa signatur

-The only dangerous amount of alcohol is NON!
Homer Jay Simpson

Permalänk

Det är det jag tänkte kolla.
Kan man göra något i den här stilen:

{ arrayer[5] int i; cin >> i; if(arrayer[i]=NULL){ ..... } else{ .... } }

Jag provade metoden men jag kom alltid till else-satsen vilket tyder på att det inte kan ha fungerat.

EDIT: Tack, ska försöka fixa till det m.h.a. exemplet du gav.

EDIT2: Jag har testa flera olika kombinationer av if-satser men jag kommer hela tiden till else-delen.

Att sätta arrayer[i]=NULL kanske är fel?

Permalänk
Medlem

är väldigt trött nu. Hur som helst om du om du bara trycker ENTER när du ska mata in ett värde i matrisen kommer den inte returna NULL, det kommer vara som om den är aktiverad men den har inget värde.

Visa signatur

-The only dangerous amount of alcohol is NON!
Homer Jay Simpson

Permalänk
Medlem

Array:t innehåller slumpmässiga värden om det deklareras lokalt, om du lägger array:t utanför main funktionen så nollställs alla element.

Permalänk
Citat:

Ursprungligen inskrivet av vG
Array:t innehåller slumpmässiga värden om det deklareras lokalt, om du lägger array:t utanför main funktionen så nollställs alla element.

Ja! Där hade vi lösningen.
Tack allehopa!