[C++] new i tablica duwymiarowa.

soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[C++] new i tablica duwymiarowa.

Post autor: soku11 »

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
Awatar użytkownika
Szemek
Użytkownik
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.

Post autor: Szemek »

kod programu z książki do informatyki
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;	
}
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[C++] new i tablica duwymiarowa.

Post autor: soku11 »

Wielkie dzieki wlasnie o to mi chodzilo POZDRO
cezar_20
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 10 kwie 2008, o 04:14
Płeć: Mężczyzna
Lokalizacja: Lublin

[C++] new i tablica duwymiarowa.

Post autor: cezar_20 »

ja jeszcze bym wlaczyl ostatniego cout'a do fora

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; 
  }
dzieki czemu ladniej wypiszcze :)
ODPOWIEDZ