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

wypełnianie pustej tablicy2d za pomocą funkcji

Ostatnio zmodyfikowano 2016-03-13 21:21
Autor Wiadomość
Cz3ster
Temat założony przez niniejszego użytkownika
wypełnianie pustej tablicy2d za pomocą funkcji
» 2016-03-13 19:59:04
#include <iostream>

using namespace std;
int t[4][4];

void wypisz(int t[][4])
{
    int x=1;
    for(int w=0; w<4; w++)
       for(int c=0; c<4; c++)
        {

            t[c][w]=x;
            x++;
        }

    for(int a=0; a<4; a++)
    {
        for(int b=0; b<4; b++)
        cout << t/ << "\t";
        cout << endl;
    }
}



int main()
{
    wypisz(t[][4]);
    return 0;
}



Dopiero co zacząłem swoją przygodę z programowaniem , moja wiedza na ten temat jest niewielka , nie wiem gdzie szukać rozwiązania mojego błędu więc piszę tutaj . Proszę o pomoc.
P-145985
carlosmay
» 2016-03-13 21:21:51
int t[ 4 ][ 4 ];
 Deklaracja globalna to kiepski pomysł.

wypisz( t[][ 4 ] );
Deklaracja tablicy jest globalna więc przekazanie jej do funkcji nie ma sensu.
Poza tym jest nieprawidłowe.
wypisz();
w tym przypadku wystarczy.

Natomiast tak byłoby dużo lepiej:
C/C++
void fill( int t[][ 4 ], std::size_t size ) {
    int x = 1;
    for( std::size_t i = 0; i < size; ++i ) {
        for( std::size_t j = 0; j < 4; ++j, ++x ) {
            t[ i ][ j ] = x;
        }
    }
}

void print( int t[][ 4 ], std::size_t size ) {
    for( std::size_t i = 0; i < size; ++i ) {
        for( std::size_t j = 0; j < size; ++j ) {
            std::cout << t[ i ][ j ] << ' ';
        }
    }
    std::cout << std::endl;
}

int main()
{
    int tab[ 4 ][ 4 ];
    fill( tab, 4 );
    print( tab, 4 );
}
Nie użyłem przestrzeni nazw
using namespace std;
.
Jeśli jest potrzeba jej użyć, może być konieczność zmienić identyfikator funkcji fill,
ponieważ taka funkcja jest zdefiniowana w pliku <algorithm> i może wystąpić dwuznaczność.
P-145987
« 1 »
  Strona 1 z 1