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

Problem z ćwiczeniem z kursu / skoroszyt

Ostatnio zmodyfikowano 2010-10-24 20:39
Autor Wiadomość
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?
P-23245
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ć.
P-23246
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?
P-23247
filipesq
» 2010-10-24 16:23:53
Masz o tym w kursie. To taka metoda.
P-23248
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.
P-23249
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ę.
P-23250
filipesq
» 2010-10-24 16:39:44
Nie wiem z czego się uczysz, ale tu masz o tym napisane: http://cpp0x.pl/#/kursy/?id=52
P-23252
ison
» 2010-10-24 16:42:32
kod:
C/C++
#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 );
}
P-23253
1 « 2 » 3 4 5
Poprzednia strona Strona 2 z 5 Następna strona