istream frage

foexle

foexle

Kaiser
sers Leute

bin noch recht neu in sachen C++
ich hab da ein prob, weis eigentlich auch schon die lösung, aber ich finde einfach nicht die methode -.-

und zwar wenn ich ein also eingabe

1 2 3 4
2 3 4 5
3 4 5 6

mache und die matrix wieder ausgebe
kommt
1 2 3 4
4 2 3 5
5 3 4

also ich habe da noch den rest der vorherigen zeile drin .... wie bekomme ich das aus der cin raus? gibts da einen befehl ?

einlesen tu ich das einfach mit ner schleife und dann

cin >> matrix[j]

hoffe ihr versteht so einigermassen was ich meine :)

mfg foxy
 
Code:
for(int i(0);i!=i_size;++i) {
   for(int j(0);j!=j_size;++j) {
      cin >> matrix[i][j];
   }
}
Ohne Gewähr, da nicht getestet. Die Variablen i_size und j_size sollten selbsterklärend sein.
 
genau so habe ich das gemacht :)

nur wie gesagt der hat in seinem gepuffertem stream noch den letzten wert vor dem return .... wie bekommsch den da raus ?
 
Code:
#include <iostream>

int main()
{
    int matrix[3][4];

    for(int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cin >> matrix[i][j];
        }
    }
    std::cout << "-----------------\n";

    for(int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cout << matrix[i][j] << ' ';
        }
        std::cout << std::endl;
    }

    return 0;
}
produziert bei mir das erwartete Ergebnis
Code:
tg@nachtigaller:~$ ./a.out 
1 2 3 4 2 3 4 5 3 4 5 6
-----------------
1 2 3 4 
2 3 4 5 
3 4 5 6

Hast Du vielleicht einen Tippfehler in Deinen Laufvariablen?
 
Zuletzt bearbeitet:
gugu :)
nene habsch auch gedacht und getestet

Code:
#include <iostream>
using namespace std;

int main()
{
    int matrix[3][4];

    for(int i = 0; i < 3; ++i) {
       cout << "Bitte die " <<i+1<<". Zeile angeben: "; 
       for (int j = 0; j < 4; ++j) {
            cin >> matrix[i][j];
        }
    }
    
    for(int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            cout << matrix[i][j] << ' ';
        }
        std::cout << std::endl;
    }

    return 0;
}

so habe ich das .... genrau das gleiche nur das ich eben nach jeder zeile neu einlese und nicht alles auf einmal ... aber ich muss es so haben ich kann es nicht alles auf einmal machen

mfg
 
perfekt ich glaube das schaut schonmal gut aus :> werde es später testen

dank dir
 

Ähnliche Themen

Linux "vergisst" Dateisystem?

if schleife etc

xrandr: cant open display

Textverarbeitung für Wissenschaftliche texte?

Rollei Mini Wifi Camcorder

Zurück
Oben