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

[C++] Problem z zapisem wyrazu do tablicy dynamicznej

Ostatnio zmodyfikowano 2016-05-17 20:09
Autor Wiadomość
MBiel
Temat założony przez niniejszego użytkownika
[C++] Problem z zapisem wyrazu do tablicy dynamicznej
» 2016-05-17 20:09:34
Witam mam taki problem, z pliku odczytuje tekst ten tekst chce włożyć w tablice dynamiczną. Wszytko było okej dopóki nie zacząłem używać dynamicznych tablic bo wcześniej używałem statycznych i nie wiem w czym leży problem, że mi się zawiesza program na linijce gdzie ma zostać wpisana wartość w tablicę.

Oto kod:
C/C++
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string.h>


using namespace std;

int main( int argc, char ** argv ) {
   
    string tekst;
    string PrzejscieTablicaZmienna;
    char znak = ' ';
    int LiczbaWyrazowLinia = 1;
    int LiczbaLinijTekstu = 1;
    ifstream PlikPierwszy;
    int PoczatekWyrazu = 0;
    int DlugoscWyrazu = 1;
    string ** TablicaTekstu = new string *[ LiczbaLinijTekstu ];
    for( int i = 0; i < LiczbaWyrazowLinia; i++ )
         TablicaTekstu[ i ] = new string[ LiczbaWyrazowLinia ];
   
    PlikPierwszy.open( "C:\\Users\\Michał\\Desktop\\tekst.txt" );
   
    if( PlikPierwszy.good() ) {
        while( !PlikPierwszy.eof() ) {
            LiczbaWyrazowLinia = 1;
            getline( PlikPierwszy, tekst );
            std::cout << tekst << '\n';
            int DlugoscLinijki = tekst.length();
            for( int i = 0; i < DlugoscLinijki; i++ ) {
                if( tekst[ i ] != znak && i != DlugoscLinijki - 1 ) {
                    DlugoscWyrazu++;
                }
                else {
                    char * buffer = new char[ DlugoscWyrazu ];
                    char PrzejscieDynamicznaTablica[ DlugoscWyrazu ];
                    tekst.copy( buffer, DlugoscWyrazu, PoczatekWyrazu );
                    for( int j = 0; j < DlugoscWyrazu; j++ )
                         PrzejscieDynamicznaTablica[ j ] = buffer[ j ];
                   
                    PrzejscieTablicaZmienna = PrzejscieDynamicznaTablica;
                    for( int j = 0; j < DlugoscWyrazu; j++ )
                         PrzejscieDynamicznaTablica[ j ] = ' ';
                    //cout<< PrzejscieTablicaZmienna<<'\t';
                    //cout<< i<<'\t';
                    TablicaTekstu[ LiczbaLinijTekstu - 1 ][ LiczbaWyrazowLinia - 1 ] = PrzejscieTablicaZmienna;
                    cout << TablicaTekstu[ LiczbaLinijTekstu - 1 ][ LiczbaWyrazowLinia - 1 ] << '\t';
                    DlugoscWyrazu = 1;
                    PoczatekWyrazu = i + 1;
                    i++;
                    LiczbaWyrazowLinia++;
                }
            }
            //for(int i =0; i<LiczbaWyrazowLinia; i++)
            //cout<<TablicaTekstu[LiczbaLinijTekstu][i]<<'\n';
            LiczbaLinijTekstu++;
        }
        if( PlikPierwszy == NULL ) {
            cout << "plik jest pusty";
            PlikPierwszy.close();
        }
    }
    else
         cout << "plik nie istnieje";
   
    getch();
    return 0;
}
P-148346
« 1 »
  Strona 1 z 1