Tablica dynamiczna typu Char - wprowadzanie wartości
Ostatnio zmodyfikowano 2016-03-01 19:40
Carabella Temat założony przez niniejszego użytkownika |
Tablica dynamiczna typu Char - wprowadzanie wartości » 2016-03-01 18:58:33 Witam, zmagam się z dwoma problemami, a mianowicie: 1. Chciałbym się dowiedzieć dlaczego program nie pozwala na wprowadzenie wartości do tablicy: #include <iostream>
using namespace std;
int main() { int i, k, N, wiersz = 30; cin >> N; char ** TEKST = new char *[ wiersz ]; for( i = 0; i < wiersz; i++ ) { TEKST[ i ] = new char[ N ]; } cin.getline( * TEKST, wiersz * N ); for( i = 0; i < wiersz; i++ ) { delete[] TEKST[ i ]; } delete[] TEKST; return 0; }
2. Chciałbym się dowiedzieć w czym jest błąd podczas zamiany Stringa na tablicę Char: #include <iostream> #include <string.h>
using namespace std;
int main() { int i, k, N, wiersz = 30; string A = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."; cin >> N; char ** TEKST = new char *[ wiersz ]; for( i = 0; i < wiersz; i++ ) { TEKST[ i ] = new char[ N ]; } strcpy( * TEKST, A.c_str() ); for( i = 0; i < wiersz; i++ ) { delete[] TEKST[ i ]; } delete[] TEKST; return 0; }
|
|
mateczek |
» 2016-03-01 19:40:40 przepisanie stringa do tablicy char to prościej #include <iostream> #include <string.h>
using namespace std;
int main() { string A = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."; char * TEKST = new char[ A.size() ]; strcpy( TEKST, A.c_str() ); cout << TEKST << endl; }
a wczytanie linijki do tablicy #include <iostream> using namespace std;
int main() { char tablica[ 30 ]; cin.getline( tablica, 30 ); cout << tablica << endl; }
Ogólnie to co robisz to nie tablica char tylko tablica tablic (tablica napisów). Następnie do tablicy tablic kopiujesz napis?? Jeśli już to można tak. Ale nie wiem co chciałeś osiągnąć #include <iostream> #include <string.h>
using namespace std;
int main() { wiersz = 30; string A = "Lorem ipsum dolor"; char ** TEKST = new char *[ wiersz ]; for( int i = 0; i < wiersz; i++ ) { TEKST[ i ] = new char[ 100 ]; strcpy( TEKST[ i ], A.c_str() ); } for( int i = 0; i < wiersz; i++ ) { cout << TEKST[ i ] << endl; } for( int i = 0; i < wiersz; i++ ) { delete[] TEKST[ i ]; } delete[] TEKST; return 0; } |
|
« 1 » |