Problem z prywatnym zadaniem (tablice, for i ASCII)
Ostatnio zmodyfikowano 2012-01-24 16:58
MrMB Temat założony przez niniejszego użytkownika |
Problem z prywatnym zadaniem (tablice, for i ASCII) » 2012-01-23 21:30:04 Witam. Zgłaszam się do was z problemem, który dla mnie brzmi dosyć banalnie, ale jednak nie jest taki prosty do rozwiązania go przeze mnie. Chodzi mi o napisanie programu, który będzie wczytywał łańcuch znaków, później każdy z tych znaków ma zostać wyświetlony w kodzie ASCII w systemie ósemkowych. Pierwsza moja myśl to tablice, pętla for a kod ASCII w systemie ósemkowych sprawdzę później jak zrobić. Lecz.. Próbowałem skorzystać z tablic jako parametrów, nie wiem też jak stworzyć tablicę typu char lecz bez określania jej rozmiaru. Czy ktoś pomoże lub da jakąś wskazówkę? |
|
malan |
» 2012-01-23 21:32:04 Hmmm... tablica typu char , której rozmiar nie jest znany podasz kompilacji? vector :) |
|
hello_world |
» 2012-01-23 21:41:01 char a; for( int i = 97; i < 123; i++ ) { a =( char ) i; cout << i << " : " << a << endl; }
Przepraszam nie zrozumiałe pytania i wypisałem głupotę |
|
MrMB Temat założony przez niniejszego użytkownika |
» 2012-01-23 21:49:50 To może inaczej. Na początek jak zrobić, aby ilość wpisanych znaków była rozmiarem tablicy?
EDIT: To jest dla mnie naprawdę bardzo ważne. |
|
CodeMeister |
» 2012-01-23 22:05:35 wiec tak: rozmiar standardowej tablicy musisz znac w trakcie kompilacji, @malan napisal ci co masz zrobic. ale w tym celu lepiej uzyc stack niz vector, moze to sie wydaje trudne ale obczaj odnosnik malana i zobacz powiazane (wlasnie ten stack) |
|
SeaMonster131 |
» 2012-01-23 22:08:06 rozmiar standardowej tablicy musisz znac w trakcie kompilacji |
Ale tak apropo, dlaczego Code::Blocks przy: int n; cin >> n;
char tablica[ n ];
Takim kodzie nie zwróci żadnego błędu itd, i program będzie działał poprawnie? Nawet jeżeli później odniosę się do jakieś komórki np tablica[ n - 2 ] = 'a'; to faktycznie ta komórka taki znak będzie zawierała? Sorki za takie wtrącenie do tematu, ale każdy pisze że musi być znany rozmiar podczas kompilacji ( sam tak cały czas myślę[-ałem] ), a jednak takie coś sie kompiluje.. -.- |
|
CodeMeister |
» 2012-01-23 22:11:08 hmm... moze jednak sie da :) |
|
konri1990 |
» 2012-01-23 22:14:35 To zależy od kompilatora, tak mi się wydaję. Swoją drogą na Borlandzie też takie coś chyba przechodzi bez znajomości rozmiaru tablicy, jednak mimo wszystko powinno się znać rozmiar żeby uniknąć wycieków pamięci.
Co do problemu na ilość znaków w tekście, polecam oczywiście bibliotekę string, a w niej funkcję length(). Z jej pomocą będziesz wiedział ile znaków ma wczytany ciąg znaków. |
|
« 1 » 2 3 |