Tablica kwadratowa...Maly problem

0

Witam! Mam problem z zadaniem...Muszę zrobic program ktory tworzy tablice kwadratowa n*n, i wczytuje losowe liczby udalo mi sie zrobic cos takiego..:

void wypelnij(int tab[4][4])
{    
     cout<<"Liczba zostaną wylosowane:\n";
     for(int i=0; i<4; i++)
     {
             for(int j=0; j<4; j++)
             {       
                    
                     tab[i][j]=rand()%10+1;
             }
     }
} 

i teraz nie wiem jak zrobic zeby wlasnie zalezoao to nie tylko od 4 ale od "n", nie mam pojecia jak to zrobic..

0

#include <ctime> /. chyba wiesz gdzie to dać
// te 2 linie dajesz przed pętle for
srand((unsigned)time(0)); // eliminuje pseudolosowe liczby (pełna losowość)
n=(rand()%950+1); // tworzy tablicę w przedziale 1-951 ( +1 po to aby nie było tablicy 0x0)

0

no i oczywiście za [4][4] dajesz [n][n]

0

Tylko zobacz caly program u mnie wyglada tak:

#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;

void wypelnij(int tab[4][4])
{    
     cout<<"Liczba zostaną wylosowane:\n";
     for(int i=0; i<4; i++)
     {
             for(int j=0; j<4; j++)
             {       
                    
                     tab[i][j]=rand()%10+1;
             }
     }
}
void wypisz(int tab[4][4])
{
     for(int i=0; i<4; i++)
     {
             for(int j=0; j<4; j++)
             {
                     cout<<setw(4)<<tab[i][j];
             }
   
     }
}
int sumowanie(int tab[4][4])
{
    int suma=0;
    for(int i=0; i<4; i++)
    {
            for(int j=0; j<4; j++)
            {
                  if(i!=j)
                  {
                   suma=suma+tab[i][j];
                   }
            }
    }
    return suma;
}
int main()
{
 srand(time(NULL));
 int tab1[4][4];
 wypelnij(tab1);
 wypisz(tab1);
 cout<<endl<<sumowanie(tab1);
 cin.ignore();
 getchar();
 return 0;
}
 

I teraz nie wiem jak zadeklarowac tą zmienna n zeby odnosila sie do wsyzstkich i zeby wszystkie tablice je czytaly..

0

nie wiadomo o co Ci chodzi, napisz dokładnie bo nie rozumiem Twojego problemu.
Chodzi Ci o to, żeby tablica zamiast tab[4][4] byla tab[n][n] gdzie n jest podawane przez uzytkownika ?
Poczytaj o operatorach new oraz delete

0

tak, rozmiar tablicy ma byc podawany przez uzytkownika, a ze to ma byc tablica kwadratowa to wystarczy wczytac n, a nie wiem jak to poukladac...

0

http://tutorialeit.pl/tutoriale/cpp/tworzenie-tablic-dynamicznych/32/
popatrz na przykład Tablica dynamiczna dwuwymiarowa w C++

0
  1. Wczytujesz "n" od usera
  2. Alokujesz pamięć pod tablicę n elementow typu "wskaznik na tablice elementow"
  3. n razy alokujesz te tablice "wewnetrzne" o rozmiarze n kazda - dla kazdej komorki w tablicy zewnetrznej

I tyle ;]

0

mozesz to pokazac na przykladzie:D?

1 użytkowników online, w tym zalogowanych: 0, gości: 1