שפת סי,מערך דו מימדי,מצבעים
Question:

כתוב תוכנית שמכריחה את המשתמש לקבל מספרים שלמים בין 0-9 למערך דו מימדי בגודל 4X4 ושולחת אותם לפונקציה.

הפונקציה מקבלת את המערך ודרך מצביעים מדפיסה כמה פעמים אותו מספר מופיע 

0 People tried to answer this question


Comments:
1.  Elbaz Naor (23.11.2016 pm 08.18.39)
solution

#include<stdio.h>

#define N 4

void func(int arr[N][N])
{
    int arr_counter[10] = {0}, *ptr, i;
    for (ptr = &arr[0][0], i = 0; i < N*N; i++)
        arr_counter[*ptr++]++;

    for (i = 0; i < 10; i++)
        printf("number %d is %d times in the array ", i, arr_counter[i]);
}

void main()
{
    int arr[N][N], i, j;
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            do{
                scanf("%d", &arr[i][j]);
            }while (arr[i][j]>9 || arr[i][j]<0);
            func(arr);
}



History of edits
More Interactive Questions that might interest you In Computer