[C++] Problem z zapisem wyrazu do tablicy dynamicznej
Ostatnio zmodyfikowano 2016-05-17 20:09
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: #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 ] = ' '; TablicaTekstu[ LiczbaLinijTekstu - 1 ][ LiczbaWyrazowLinia - 1 ] = PrzejscieTablicaZmienna; cout << TablicaTekstu[ LiczbaLinijTekstu - 1 ][ LiczbaWyrazowLinia - 1 ] << '\t'; DlugoscWyrazu = 1; PoczatekWyrazu = i + 1; i++; LiczbaWyrazowLinia++; } } LiczbaLinijTekstu++; } if( PlikPierwszy == NULL ) { cout << "plik jest pusty"; PlikPierwszy.close(); } } else cout << "plik nie istnieje"; getch(); return 0; }
|
|
« 1 » |