Problem z pobieraniem danych z pliku
Ostatnio zmodyfikowano 2015-05-03 20:09
Patrix Temat założony przez niniejszego użytkownika |
Problem z pobieraniem danych z pliku » 2015-05-03 17:07:22 Witam mam dziwny problem a mianowicie posiadam taki plik txt: zmienne 3 4 macierz_a 1 2 3 4 5 6 7 8 9 10 11 12 macierz_b 4 2 0 0 0 koszty 1 2 3 4 5 Napisałem program by w zależności od stringa jaki wyłapie z pliku wpisywał dane do innych struktur np. jeśli wyłapie napis "Zmienne" to wartości 3 i 4 przypisuje zmiennym, jeśli "macierz_a" to wypełnia tablicę A itd. Program wszystko ładnie wypełnia za wyjątkiem tablicy "C" która ma być wypełniona jak string=="koszty", wtedy przy wypisaniu wyskakują jakieś chore liczby w tej tablicy. #include<stdafx.h> #include<iostream> #include<cstdio> #include<fstream> #include<string>
using namespace std;
int main() { int A[ 10 ][ 10 ]; int B[ 10 ]; int C[ 10 ]; int m = 0; int n = 0; string napis; ifstream plik; plik.open( "pliczek.txt" ); if( plik.good() == true ) { plik >> napis; if( napis == "zmienne" ) { plik >> m; plik >> n; } plik >> napis; if( napis == "macierz_a" ) { for( int i = 0; i < m; i++ ) { for( int j = 0; j < n; j++ ) { plik >> A[ j ][ i ]; } } } plik >> napis; if( napis == "macierz_b" ) { for( int i = 0; i < m; i++ ) { plik >> B[ i ]; } } plik >> napis; if( napis == "koszty" ) { for( int i = 0; i < n; i++ ) { plik >> C[ i ]; } } } cout << "m= " << m << endl; cout << "n= " << n << endl; cout << endl; cout << "A" << endl; for( int i = 0; i < m; i++ ) { for( int j = 0; j < n; j++ ) { cout << A[ j ][ i ] << " "; } cout << endl; } cout << endl; cout << "B" << endl; for( int i = 0; i < m; i++ ) { cout << B[ i ] << " "; } cout << endl << endl; cout << "C" << endl; for( int i = 0; i < n; i++ ) { cout << C[ i ] << " "; } return 0; } |
|
pekfos |
» 2015-05-03 20:09:02 Za dużo wartości masz podanych w pliku przy "macierz_b". Masz 5, a program oczekuje trzech. |
|
« 1 » |