Diskuze: Pole ako funkcia poľa,bez pointerov.
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Možností je spousta. Jelikož chceš pracovat s maticemi, bude Tě nejspíš zajímat práce s 2D poli. Podívej se na následující příklad, který jsem pro tebe zpracoval. Je v něm vidět, jak předávat 2D pole funkci a jak 2D pole z funkce vracet. Činnost programu by měla být jasná. Pokud Ti přesto nebude cokoli jasné, ptej se.
#include <stdio.h>
#define M 4 // Pocet radku
#define N 5 // Pocet sloupcu
void assign(int arr[][N], int m, int n);
void copy(int arr[][N], int arr2[][N], int m, int n);
void print(int arr[][N], int m, int n);
int main(void){
int a1[M][N], a2[M][N];
assign(a1, M, N);
copy(a1, a2, M, N);
print(a2, M, N);
return 0;
}
// Prirazeni dat matici
void assign(int arr[][N], int m, int n){
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = i + j;
}
}
}
// Kopirovani matic
void copy(int arr[][N], int arr2[][N], int m, int n){
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr2[i][j] = arr[i][j];
}
}
}
// vypis matice
void print(int arr[][N], int m, int n){
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
printf("%3d", arr[i][j]);
}
putchar('\n');
}
}
Ahoj,DarkCoder.
Ďakujem za pomoc. S tvojho kódu som vytiahol to pre mňa podstatné a už zase
môžem v samoštúdiu pokračovať ďalej. Až dokončím nejaký
programík,ktorý bude stáť za ukážku,tak ho sem hodím.
Ahoj, keď už ti DarkCoder pomohol, mohol by si jeho odpoveď označiť ako riešenie problému a on vďaka tomu dostane bod na platené články/lekcie.
Zobrazeno 4 zpráv z 4.