Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Utworzenie tablicy z wczytanego pliku

Ostatnio zmodyfikowano 2015-01-12 14:49
Autor Wiadomość
Kluczyk
Temat założony przez niniejszego użytkownika
Utworzenie tablicy z wczytanego pliku
» 2014-12-20 19:13:15
W moim programie wczytuję plik tekstowy (a właściwie dwa), będący tablicą dwuwymiarową.
Muszę jakoś odwołać się do konkretnego elementu owej tablicy.
Nie wiem jednak jak dodać zmienne, które będą odpowiedzialne za wiersze i kolumny mojej tablicy z wczytanego pliku.

Kod źródłowy (sposób w jaki wczytałem plik):
C/C++
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <math.h>

using namespace std;

bool wyswietlZawartoscPliku( string sNazwaPliku )
{
    ifstream plik;
    plik.open( sNazwaPliku.c_str() );
    if( !plik.good() )
         return false;
   
    std::string wiersz;
    while( getline( plik, wiersz ) )
         cout << wiersz << endl;
   
    plik.close();
    return true;
}

int main()
{
    cout << "Nacisnij ENTER, aby wczytac i wypisac tablice o nazwie: jeden" << endl;
    getchar();
    if( !wyswietlZawartoscPliku( "jeden.txt" ) )
         cout << "Nie udalo sie otworzyc pliku o podanej nazwie." << endl;
   
    cout << endl << "Nacisnij ENTER, aby wczytac i wypisac tablice o nazwie: dwa" << endl;
    getchar();
    if( !wyswietlZawartoscPliku( "dwa.txt" ) )
         cout << "Nie udalo sie otworzyc pliku o podanej nazwie." << endl;
   
    //teraz chciałbym dodać dwie tablice, na których mógłbym wykonywać operacje
   
    cout << endl << "Zrobione!" << endl << endl;
   
    system( "PAUSE" );
    return EXIT_SUCCESS;
}
Oto jak wyglądają pliki:
2 4 7 6 0
3 2 3 4 0
6 5 8 7 1
3 8 5 2 1
6 8 6 2 1
1 3 6 4 0
1 7 5 9 0
6 8 1 1 1
Czyli tablica [5][8];

Proszę o wskazówkę jak utworzyć tablice, żeby móc operować na wczytanych wartościach.
P-123161
darko202
» 2014-12-20 23:16:38
możesz poszukać na http://cpp0x.pl/kursy/Kurs-C++​/1
tego co będzie Ci potrzebne
w szczególności:
23. Zmienne przechowujące tekst
27. Wyszukiwanie frazy w tekście 
Biblioteka <string>
18. Tablice jednowymiarowe
Tablice zmiennych
Wskaźniki

wiedza zwarta w ww. częściach kursu
powinna pozwolić Ci to co masz zrealizować

P-123170
Kluczyk
Temat założony przez niniejszego użytkownika
» 2015-01-07 16:39:57
Przerobiłem sobie wskazane lekcje, lecz nadal nie wiem jak mam wczytać do mojej tablicy te elementy, aby mieć układ tab[m][n].

Proszę choć o wskazówkę, bądź linijkę kodu.
P-124397
pekfos
» 2015-01-07 17:23:35
Tablicę musisz alokować dynamicznie. n + 1 alokacji by mieć tablicę o n wierszach, w każdym dowolna ilość elementów.
P-124398
Arteczek
» 2015-01-07 22:08:03
Tablica nie ma rozmiaru 5x8 tylko 8x5 ;)
P-124423
alixir
» 2015-01-08 07:39:24
Identyczny temat masz tutaj:
http://cpp0x.pl/forum/temat/​?id=14308
P-124433
Kluczyk
Temat założony przez niniejszego użytkownika
» 2015-01-12 14:27:55
Ok, pokażę do czego doszedłem.

C/C++
int main()
{
    cout << "Nacisnij ENTER, aby wczytac i wypisac tablice o nazwie: jeden" << endl;
    getchar();
    if( !wyswietlZawartoscPliku( "jeden.txt" ) )
         cout << "Nie udalo sie otworzyc pliku o podanej nazwie." << endl;
   
    int w = 8, k = 5;
    int ** tab1 = new int *[ w ];
    for( int i = 0; i < w; ++i )
    {
        tab1[ i ] = new int[ k ];
    }
   
    cout << endl << "Wypisujemy na ekran wczytane tablice:" << endl << "jeden:" << endl << endl;
    for( int i = 1; i < w; i++ )
    {
        for( int j = 1; j < k; j++ )
        {
           
            cout << " " << tab1[ i ][ j ];
        }
        cout << endl;
    }
   
    cout << endl << endl << "Zrobione!" << endl << endl;
   
    system( "PAUSE" );
    return EXIT_SUCCESS;
}

Teraz mam już utworzoną tablicę, ale jest wypełniona losowymi wartościami.
Jak wczytaj do mojej tablicy
tab1[ i ][ j ]
 wartości z pliku?
P-124718
darko202
» 2015-01-12 14:49:18
przeczytaj
http://cpp0x.pl/kursy​/Kurs-C++​/Poziom-4​​/Podstawy-obslugi-plikow/355

strukturę musisz sobie odczytać z wczytanej linii
lub stworzyć odpowiednią funkcje
http://www.cplusplus.com​/reference/cstdio/fwrite/
P-124720
« 1 »
  Strona 1 z 1