WITAM!
Prosilbym o przykladowe zastosowanie operatora new do utworzenia dynamicznie dwuwymiarowej tablicy int-ow (o zadanym wymiarze NxM) z ktorych kazdy definiuje 32 bity. Nie wiem jak to utworzyc (chociaz mam pewne pomysly), tzn czy ma to byc zwykly wskaznik, czy wskaznik na wskaznik?? Z groy dzieki za pomoc. POZDRO
[C++] new i tablica duwymiarowa.
- Szemek
- Użytkownik
- Posty: 4819
- Rejestracja: 10 paź 2006, o 23:03
- Płeć: Mężczyzna
- Lokalizacja: Gdańsk
- Podziękował: 43 razy
- Pomógł: 1407 razy
[C++] new i tablica duwymiarowa.
kod programu z książki do informatyki
może się przyda
może się przyda
Kod: Zaznacz cały
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <new>
using namespace std;
int main()
{
int wie, kol, i, j;
cout << "Podaj liczbe wierszy i kolumn tablicy:
";
cin >> wie >> kol;
srand(time(NULL)); // inicjacja generatora liczb
int **tab; // deklaracja wskaźnika do wskaźnika na zmienne typu int
try // próba tworzenia tablicy wskaźników
{
tab = new int *[wie];
}
catch(bad_alloc)
{
cout << "Brak miejsca na utworzenie tablicy. Koncze program";
return -1;
}
for (i=0; i<wie; i++)
try // próba tworzenia dynamicznych tablic liczb
{
tab[i] = new int [kol];
}
catch(bad_alloc)
{
cout << "Brak miejsca na utworzenie tablicy. Koncze program";
return -1;
}
for (i=0; i<wie; i++)
for (j=0; j<kol; j++)
{
tab[i][j] = rand()%101; // wypełnianie tablic liczbami
cout << setw(4) << tab[i][j]; // wyświetlanie elementów
}
cout << endl;
// teraz usuniemy tablicę z obszaru zajmowanej pamieci
for (i=0; i<wie; i++)
delete [] tab[i]; // usuwamy kolejne tablice z liczbami
delete [] tab; // usuwamy tablicę wskaźników
cin.ignore();
getchar();
return 0;
}
[C++] new i tablica duwymiarowa.
ja jeszcze bym wlaczyl ostatniego cout'a do fora
dzieki czemu ladniej wypiszcze
Kod: Zaznacz cały
for (i=0; i<wie; i++)
{
for (j=0; j<kol; j++)
{
tab[i][j] = rand()%101; // wypełnianie tablic liczbami
cout << setw(4) << tab[i][j]; // wyświetlanie elementów
}
cout << endl;
}