c00per Temat założony przez niniejszego użytkownika |
» 2010-10-24 15:47:16 Thx, mam jeszcze jedno pytanie, jeśli chodzi o następujący fragment kodu: string imie[ MAX_OSOB ], nazwisko[ MAX_OSOB ], tel[ MAX_OSOB ], uwagi[ MAX_OSOB ]; nie można go zamienić na np. string imie[ ile - 1 ], nazwisko[ ile - 1 ] itd... ? Wtedy mamy określone z góry chyba ile elementów ma być w tablicy. I jeśli by to było dobre, to odwołanie do danego elementu byłoby inne czy takie same? |
|
pekfos |
» 2010-10-24 16:07:20 nie można. bo MAX jest stałą. a stałe są znane w czasie kompilacji. i kompilator przydziela pamięć. można to zrobić dynamicznie ale wtedy nie trzeba w ogóle sobie takich ograniczeń nakładać. |
|
c00per Temat założony przez niniejszego użytkownika |
» 2010-10-24 16:16:21 No tak, ale używając stałej muszę sobie od razu zadeklarować jakąś wartość, ilość elementów w tablicy, co de facto chciałbym uniknąć. Nie wiem, może robienie tego dynamicznie (tak jak Ty napisałeś) rozwiązało by problem. To jakaś wyższa matma czy jakiś prosty zabieg? |
|
filipesq |
» 2010-10-24 16:23:53 Masz o tym w kursie. To taka metoda. |
|
pekfos |
» 2010-10-24 16:24:38 jak przerobiłeś wskaźniki i dynamiczną alokację to jest to zaledwie prosty zabieg, lecz jak nie wiesz co i jak to ci nie będę teraz robił wody z mózgu. |
|
c00per Temat założony przez niniejszego użytkownika |
» 2010-10-24 16:25:04 Ok, w każdym bądź razie dzięki. Pewnie do tego dojdę. |
|
filipesq |
» 2010-10-24 16:39:44 |
|
ison |
» 2010-10-24 16:42:32 kod: #include <iostream> #include <conio.h> #include <string>
using namespace std;
int main() { int i, ile; string * imie, * nazwisko, * tel, * uwagi; cout.fill( '-' ); cout.width( 50 ); cout << "" << endl; cout << "Witaj w programie skoroszyt v1.0." << endl << "Wpisz ilosc osob, ktore chcesz wpisac do skoroszytu: "; cin >> ile; imie = new string[ ile ]; nazwisko = new string[ ile ]; tel = new string[ ile ]; uwagi = new string[ ile ]; cout << endl; for( i = 1; i <= ile; i++ ) { cin.sync(); cout << "Osoba nr " << i << "." << endl << "Imie: "; getline( cin, imie[ i - 1 ] ); cout << "Nazwisko: "; getline( cin, nazwisko[ i - 1 ] ); cout << "Nr tel.: "; getline( cin, tel[ i - 1 ] ); cout << "Uwagi: "; getline( cin, uwagi[ i - 1 ] ); cout << endl; } cout << endl; cout.fill( '-' ); cout.width( 50 ); cout << "" << endl; getch(); delete[] imie; delete[] nazwisko; delete[] tel; delete[] uwagi; return( 0 ); }
|
|
1 « 2 » 3 4 5 |