Allgemeines Array, Erklärung erbeten!! tut.at

Schnelle objektorientierte, kompilierende Programmiersprache.
dragonfloez
Beiträge: 92
Registriert: Fr Jan 22, 2010 1:49 pm

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von dragonfloez » Do Jan 28, 2010 6:42 pm

Ich glaube ich habe nun das verstanden. Danke!

Und wie ist es möglich einen bestimmten Wert aus der Liste auszulesen. Sagen wir mal die Nummer 4?

Und kann mir jemand mal erklären (verständlich für Dummies) was es mit ein und dreidimensonalen Array deklaierungen auf sich hat.


Hallo Xin,
ich lese schon das Tuturial duch, nur leider verstehe ich nicht alles was das steht, d.h frage ich nach. :oops:

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von stampuhh » Do Jan 28, 2010 7:19 pm

Wert an Index 4 auslesen ganz einfach: array[4]. Aber Achtung: wenn du den 4. Wert haben willst dann ist das array[3], da das Array bei 0 anfängt zu zählen! Spricht du kannst einfach die zahl in die eckigen Klammern schreiben und dann damit rechnen.

zB so was hier:

Code: Alles auswählen

array[5] = array[3]+array[5];
(vorausgesetzt die Werte existieren und das Array ist so groß)
Und kann mir jemand mal erklären (verständlich für Dummies) was es mit ein und dreidimensonalen Array deklaierungen auf sich hat.
eindimensional ist das ganz normale ;)
zweidimensional ist sozusagen eine Matrix
dreidimensional ist eine Matrix in 3D

Die beiden letzten werden dich aber vermutlich erst mal nicht interessieren daher lass es einfach ruhen und kümmre dich darum wenn du es wirklich brauchst (im Falle des 3D: wenn du es überhaupt jemals brauchen solltest) und wenn du ein bisschen weiter mit dem Lernen bist.
Funktionieren tut das ganze wie mit normalen Arrays auch werden nur mit Dimension zu Dimension größer!

gruß stampuhh
NachDenkSeiten.de

AnGaiNoR
Beiträge: 212
Registriert: Sa Jul 19, 2008 7:07 pm
Wohnort: Dresden

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von AnGaiNoR » Do Jan 28, 2010 7:35 pm

dragonfloez hat geschrieben: Und kann mir jemand mal erklären (verständlich für Dummies) was es mit ein und dreidimensonalen Array deklaierungen auf sich hat.
Nehmen wir mal an du hast ein eindimensionales Array mit Integern. In diesem Array kannst du eine bestimmte Anzahl an Integern speichern.
Benutzt du hingegen ein zweidimensionales Array mit Integern, dann erhälst du ein Array, das wiederum Arrays mit Integern enthält.

Du kannst dir das auch wie folgt veranschaulichen:
  • Ein eindimensionales Array ist eine Liste.
    Ein zweidimensionales Array ist ein Ordner, in dem Listen abgeheftet sind.
    Ein dreidimensionales Array ist ein Schrank voll mit Ordnern.
    Ein vierdimensionales Array ist ein Büro mit Schränken.
    usw.
Natürlich funktioniert auch stampuhhs Variante:
  • Ein eindimensionales Array ist eine Liste.
    Ein zweidimensionales Array ist eine Matrix beziehungsweise eine Tabelle.
    usw.
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)

dragonfloez
Beiträge: 92
Registriert: Fr Jan 22, 2010 1:49 pm

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von dragonfloez » Do Jan 28, 2010 10:01 pm

Hallo,
wenn ich nur den 3Wert aus der Liste haben möchte dann schreibe ich:

printf ("der dritte Wert ist %d", Array[4]");
Oder muss ich noch irgendwo das Array deklarieren.
Hat jemand dafür ein kurzes Beispielprogramm, bitte?

und bekomme den dritten Wert ausgelesen?

Danke für die tolle Erklärung.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von stampuhh » Fr Jan 29, 2010 12:18 pm

Schon mal das hier gelesen? Da steht das doch drin nur statt mit Zahlen halt mit Buchstaben...
http://tutorial.proggen.org/doku.php?id=c:type:array

Da findest du dann zB auch dieses einfache Beispiel, was eigentlich deine Frage komplett beantworten sollte:

Code: Alles auswählen

void main(void) 
{ 
  char MyArray[] = "Hallo Welt"; 
 
  printf("Der 3. Buchstabe ist %c.\n", MyArray[2]); 
 
  MyArray[2]= 'h'; 
  printf("Der 3. Buchstabe ist %c.\n", MyArray[2]); 
}
gruß stampuhh
NachDenkSeiten.de

dragonfloez
Beiträge: 92
Registriert: Fr Jan 22, 2010 1:49 pm

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von dragonfloez » Fr Jan 29, 2010 1:30 pm

void steht doch für kein Rückgabe Wert, oder nicht?.
int steht für Integer (Ganzzahhlen);

Wann genau benutzt man int oder void?


Hilfe!!:
ich habe gerade dieses Programm geschrieben, aber wiso:

Code: Alles auswählen

#include <stdio.h>


int main()
{
    int daten[10],i, a=1;

   printf ("Fuellen Sie alles aus und wenn Sie\n");
    printf ("1. Drücken um Wert 4 zu sehen\n ");
    printf ("2. Druecken um alles zu sehen\n");

    printf ("Tsetigen Sie Ihre Eingabe: ");
    scanf ("%d", &a);






    switch (a)

    {case 1:

    for (i=0;i<10;i++)
    daten[i]=0;

    for (i=0;i<10; i++)
    {
    printf ("%d, Datenenblock", i);
    scanf ("%d", &daten[i]);

    if (daten[i] ==0)
    { printf ("Abbruch");
    break;
    }
    }


     if (daten[4] !=0)
        {
        printf ("%d. Datenblock vier war: %d\n",i, daten[4]);

        }




    case 2:

       for (i=0;i<10;i++)
    daten[i]=0;

    for (i=0;i<10; i++)
    {
    printf ("%d, Datenenblock", i);
    scanf ("%d", &daten[i]);

    if (daten[i] ==0)
    { printf ("Abbruch");
    break;
    }
    }
    for (i=0;i<10;i++)
    if (daten[i] !=0)
        {
        printf ("%d. Alle Datenblöcke waren: %d\n",i, daten[i]);
        }











    }

 return 0;
    }






kann ich da kein break hinschreiben??

Code: Alles auswählen

     

if (daten[4] !=0)
        {
        printf ("%d. Datenblock vier war: %d\n",i, daten[4]);

hier geht es nicht break einzufügen??
        

}
Vielen Dank!
Zuletzt geändert von dragonfloez am Fr Jan 29, 2010 2:28 pm, insgesamt 1-mal geändert.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von Kerli » Fr Jan 29, 2010 1:38 pm

dragonfloez hat geschrieben:void steht doch für kein Rückgabe Wert, oder nicht?.
int steht für Integer (Ganzzahhlen);

Wann genau benutzt man int oder void?
Das hängt davon ab ob man einen Rückgabewert braucht oder nicht. Bei der main-Funktion hingegen sollte es immer 'int' sein:
C-Standard hat geschrieben: The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int[...]
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

dragonfloez
Beiträge: 92
Registriert: Fr Jan 22, 2010 1:49 pm

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von dragonfloez » Fr Jan 29, 2010 2:31 pm

HALT STOPP WAR ZU SCHNELL,
man muß da das else weglasen und nur break schreiben. Aber wiso das den??

und wiso funktioniert hier case 3 nicht?

Code: Alles auswählen

#include <stdio.h>


int main()
{
    int daten[10],i, a=1, b=1;

        while (b==1)

    {

   printf ("Fuellen Sie alles aus und wenn Sie\n");
    printf ("1. Drücken um Wert 4 zu sehen\n ");
    printf ("2. Druecken um alles zu sehen\n");
    printf ("3. Drücken um zu beenden\n");

    printf ("Tsetigen Sie Ihre Eingabe: ");
    scanf ("%d", &a);






    switch (a)

    {case 1:

    for (i=0;i<10;i++)
    daten[i]=0;

    for (i=0;i<10; i++)
    {
    printf ("%d, Datenenblock", i);
    scanf ("%d", &daten[i]);

    if (daten[i] ==0)
    { printf ("Abbruch");
    break;
    }
    }


     if (daten[4] !=0)
        {
        printf ("%d. Datenblock vier war: %d\n",i, daten[4]);
        break;

        }




    case 2:

       for (i=0;i<10;i++)
    daten[i]=0;

    for (i=0;i<10; i++)
    {
    printf ("%d, Datenenblock", i);
    scanf ("%d", &daten[i]);

    if (daten[i] ==0)
    { printf ("Abbruch");
    break;
    }
    }
    for (i=0;i<10;i++)
    if (daten[i] !=0)
        {
        printf ("%d. Alle Datenblöcke waren: %d\n",i, daten[i]);
        }


    case 3:
    printf ("Beenden");
     b=0;
    break;
}
}

 return 0;
}





7

Vielen Dank im vorraus!!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von Xin » Fr Jan 29, 2010 4:51 pm

Nix für ungut, aber formatiere den Code. Ich weigere mich das zu lesen.

http://www.proggen.org/doku.php?id=c:style
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Allgemeines Array, Erklärung erbeten!! tut.at

Beitrag von stampuhh » Fr Jan 29, 2010 6:28 pm

code blocks kann auch automatisch formatieren!!

Plugins-> Source Code Formatter (AStyle)

Du hast kein default in der switch. Ist zwar glaube keine Pflicht aber ist immer gut ;)
Außerdem funktioniert case 3!

gruß stampuhh
NachDenkSeiten.de

Antworten