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

Wczytywanie liczb z pliku do tablicy dwumwymiarowej

Ostatnio zmodyfikowano 2015-10-11 21:22
Autor Wiadomość
kisiel7
Temat założony przez niniejszego użytkownika
Wczytywanie liczb z pliku do tablicy dwumwymiarowej
» 2015-10-11 18:34:17
Narazie wstawiam tylko ideę:
C/C++
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<conio.h>
using namespace std;
int main()
{
    char liczba;
    int j = 0;
    int A[ 16 ][ 9 ];
    while( j < 9 )
    {
        for( int i = 0; i < 16; i++ )
        {
            A[ i ][ j ] = 0;
            cout << A[ i ][ j ]; //tak ma wygladac tablica
        }
        cout << endl;
        j++;
    }
    fstream plik;
    plik.open( "lifeStart1.txt", ios::in );
   
    if( plik.good() == false )
    {
        cout << "Nie mozna otworzyc pliku";
    }
   
    while( !plik.eof() )
    {
        for( int i = 0; i < 16; i++ )
        {
            getch();
            liczba = A[ i ][ j ];
        }
        j++;
    }
    getch();
    cout << A[ 0 ][ 0 ];
   
    return 0;
}
Niestety nie używałem wcześniej eof i mam problem z wczytaniem odpowiedniej danej do indeksu tablicy.
W pliku znajdują się tylko liczby 1 i 0.
P-138437
carlosmay
» 2015-10-11 20:19:34
C/C++
while( !plik.eof() )
{
    for( int i = 0; i < 16; i++ )
    {
        getch();
        liczba = A[ i ][ j ];
    }
    j++;
}
 tutaj zmienna 'j' jest nieograniczona i będzie rosła póki plik się nie skończy (jest szansa, że tablica wyjdzie poza zakres).
Metoda .eof() wykrywa koniec pliku.

plik >> A[ i ][ j ];
 wczytywanie liczb z pliku.
P-138448
kisiel7
Temat założony przez niniejszego użytkownika
» 2015-10-11 21:22:35
Dzięki, ostatecznie działa. Dalej stworzę program, że 1 zamieniały się będą w 0, a 0 w 1 w zależności od tego jakie komórki je otaczają.
C/C++
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<conio.h>
using namespace std;
int main()
{
    int i = 0;
    int j = 0;
    int A[ 16 ][ 9 ];
    while( j < 9 )
    {
        for( int i = 0; i < 16; i++ )
        {
            A[ i ][ j ] = 0;
        }
        j++;
    }
    j = 0;
    fstream plik;
    plik.open( "lifeStart1.txt", ios::in );
   
    if( plik.good() == false )
    {
        cout << "Nie mozna otworzyc pliku";
    }
   
    while( !plik.eof() )
    {
        for( int i = 0; i < 16; i++ )
        {
            plik >> A[ i ][ j ];
        }
        j++;
    }
    plik.close();
    j = 0;
    while( j < 9 )
    {
        for( int i = 0; i < 16; i++ )
        {
            cout << A[ i ][ j ];
        }
        cout << endl;
        j++;
    }
   
    return 0;
}
P-138452
« 1 »
  Strona 1 z 1