Wie schreibe ich in einen Array



  • strcpy(,);
    

    mfg hohesC



  • cheesburger schrieb:

    aha sagt mir nicht wirklich viel bin kein pro in c++. Jedenfals noch nicht 🙂

    Dazu musst du kein "pro" sein. Ich bin auch quasi erst anfaenger.
    Du musst dich nur etwas damit beschaeftigen:

    http://tutorial.schornboeck.net/arrays.htm
    http://www.volkard.de/vcppkold/arrays.html
    http://www.cplusplus.com/doc/tutorial/tut3-1.html

    mfg
    v R



  • sehe ich das richtig das wenn dort ihrgend wie im Code

    cin
    oder
    cout steht das das nciht der Orginale Quellcode ist den man auch verwenden kann oder??!?! weil wenn da etwa

    #include<iostream>
        using namespace std;
    
        int main()
        {
          int reihe[10];
          int i;
          reihe[0]=2;
    
          for(i=1;i<10;++i)
          {
            reihe[i]=reihe[i-1]*2;
          }
    
          for(i=10;i>0;--i)
          {
            cout<<reihe[i-1]<<"\n";   // <--- Soetwas habe ich noch nie gesehen!!!
          }
          cin.get();
        }
    

    weil soetwas habe ich noch nie gesehen



  • cheesburger schrieb:

    sehe ich das richtig das wenn dort ihrgend wie im Code

    cin
    oder
    cout steht das das nciht der Orginale Quellcode ist den man auch verwenden kann oder??!?! weil wenn da etwa

    cin liest ein Wert ein.
    cout gibt Werte aus.

    Tret mal deinen Lehrer wenn er Dinge vorsetzt die ihr noch nicht besprochen habt.



  • also wenn ich cin>>"Text"<<end eigebe in Borland Builder dann ist die Seite einfach in der Farbe ohne Text ohne nix..

    aktuell sieht die Seite aus aus bei mir:

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    #include <iostream.h>
    #include "main.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void main()
    {
       // Dies ist das Hello-World-Programm
       cout<<"Hello, world!"<<endl;
    };
    


  • Das ist im Endeffekt ein nicht funktionierender Mischmasch aus Konsolenprogramm und VCL Win32-Anwendung.

    Wieso verwendet ihr schon die VCL, wenn ihr die Grundlagen noch nicht beherscht?!?



  • man ka wir haben auch ein buch in der Schule bekommen das C++ für Kids heißt. Das Buch wurde für 9 Jährige geschrieben und auf jeder Seite ist mindestens 1 Hase abgebildet der einfach nur dämliche kommentare abgibt. Und nun verlang der Arsch von Lehrer sachen die wir angeblich in dem Lächerlichen Buch gelernt haben siollen. und der Altersdruchschnitt der klasse ist bei 22. Also der Lehrer hat nicht viele Freunde..



  • in der Schule haben wir uns Texte immer auf einem LAbel ausgeben lassen.

    Sprich

    Label1->Caption =" Hallo World";
    


  • char arr[200]={0};
    
    strcpy(arr,Edit1->Text.c_str());
    

    so kopierst du dir aus dem Edit feld in ein Array!

    mfg hohesC

    [edit]das ganze auf das onClick von nem Button, dann sollte es klappen![/edit]



  • Also es geht.

    Doch wenn ich eine Zahl eingebe z.b. 20 dann ezigt er mir im Label1 nur 2 an?!?! Warum???

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    
    #include "ArraySpeichern.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    TForm1 *Form1;
    int speicherArray[9],i,x;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    char speicherArray[9]={0};
    strcpy(speicherArray,Edit1->Text.c_str());
    
    Label1->Caption = (speicherArray[0]);
    
    }
    //-------------
    


  • cheesburger schrieb:

    Label1->Caption = (speicherArray[0]);
    

    Damit wird nur das erste Element aus speicherArray zugewiesen.

    Probier

    Label1->Caption = speicherArray;
    


  • jo danke hat er gespeichert



  • Also mein Nächstes problem ist ich will nciht das er mir das Überschreibt !!

    speich er soll dann in den speciherArray[1] etwas schreiben.

    zurzeit wenn ich das richtig verstanden habe schreibt er ja nur in speicherArray[0]; or?!



  • Ich würde das alles nicht über ein Array machen, in der VCL gibts Strings (ANSI Strings nennen die sich iirc) da kann man sich den Mischmasch mit C-String-Funktionen sparen.

    Habe die Synthax gerade nicht mehr im Kopf da ich mit der VCL schon lange nichts mehr gemacht habe weiss aber dass das wesentlich einfacher geht als über das Arraygebastel.

    Du hast mein Beileid, wenn du in so einem Unterricht sitzen musst.

    Viel Spass mit dem Häschen - LOL



  • nein er schreibt in speicherArray!
    speicherArray[0] ist nur ein Element von speicherArray!
    man kann nur 1 Zeichen(char) in diesem Element des Arrays speichern!

    strcpy(speicherArray,"Hallo");
    

    im speicher sieht das so aus:

    speicherArray[0] = 'H';
    speicherArray[1] = 'a';
    speicherArray[2] = 'l';
    speicherArray[3] = 'l';
    speicherArray[4] = 'o';
    

    mfg hohesC



  • und nicht zu vergessen:

    speicherArray[5] = '\0';
    

    die Kennzeichnung des Endes.



  • Danke für das Beileid 😉

    mein Problem ist nur das wir eine Arbeit schreiben über Arrays und soetwas kommt auch drann..

    jetzt zu hohesC:

    Wir sollten als letzte Aufgabe einen "N-Zahlengenerrator bauen"

    Dieser hatte die Aufgabe, die eingegebenen Zahlen in einem Array zu speichern und die Zahlen dann sortiert von klein nach Groß Auszugeben. Anschließend sollten wir noch den Mittelwert und Anzahl der Zahlen ermitteln.



  • cheesburger schrieb:

    Danke für das Beileid 😉

    mein Problem ist nur das wir eine Arbeit schreiben über Arrays und soetwas kommt auch drann..

    Verstehe.

    cheesburger schrieb:

    Wir sollten als letzte Aufgabe einen "N-Zahlengenerrator bauen"
    Dieser hatte die Aufgabe, die eingegebenen Zahlen in einem Array zu speichern und die Zahlen dann sortiert von klein nach Groß Auszugeben. Anschließend sollten wir noch den Mittelwert und Anzahl der Zahlen ermitteln.

    Du speicherst die eingebenen Zahlen in einem Array. Dafür brauchst du einen Zähler der nach jeder Eingabe den Index des Arrays um eines nach oben setzt.

    Den Mittelwert der Zahlen errechnest du indem du durch das array 'durchwanderst'. Dazu musst du wissen wie gross es ist oder ermittelst die Grösse des Arrays durch einen "Trick" zur Laufzeit. Die erste Methode ist für einen Anfänger einfacher und durchschaubarer.

    const int ARRAYGROESSE = 10;   //für 10 Werte zum eingeben
    int eingabe, summe;
    float mittelwert=0f;
    
    int array[ARRAYGROESSE];
    
    //in einer schleife fragst du die Werte zum eingeben ab:
    
    for (int i=0; i<= ARRAYGROESSE-1; i++)
    {
       cout << "Wert " << i << " eingeben: ";
       cin << array[i];
    }
    /*
    Jetzt sind wir mit dem Einlesen fertig,
    wir sortieren das array.
    
    Das macht man über eine Sortierfunktion, sowas gibts schon fertig
    ich glaube in der Standardlib. Ich weiss nicht wie ihr das machen
    sollt deshalb lasse ich das mal weg. Vermutlich habt ihr noch
    keine Funktionen behandelt.
    
    Jetzt bilden wir den Mittelwert:
    
    Erst mal summieren: */
    for (int i=0; i<= ARRAYLENGTH-1; i++)
       sum += i;
    
    //Vorher noch casten!
    mittelwert = static_cast<float>(sum)/ARRAYLENGHT;  
    
    //Ausgeben
    cout << "Mittelwert ist : " << mittelwert;
    


  • dann nimm ein int array!

    int arr[30];
    

    da kannst du dann so zuweisen arr[x]=Edit1->Text.ToInt();
    x halt hochzählen!

    mit der sortierten ausgabe machst du das über ne ListBox da gibts sorted das setzt du auf true!

    mfg hohesC 😃



  • also ich habe das bisjetzt so (nicht viel ich weiß)

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    
    #include "Nzahlen.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    ListBox1->Items->Add(Edit1->Text);	
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ListBox1Click(TObject *Sender)
    {
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Edit1Change(TObject *Sender)
    {
    
    }
    //-----
    

Anmelden zum Antworten