Witam. Mam pytanie do zadania opisanego poniżej. Nie bardzo wiem jak sobie poradzić z zapamiętaniem ilości wystąpień danej liczby, a następnie zapisanie jej w tablice. Napisałam program, który nie do końca działa poprawnie. Liczba wystąpień nie jest stała, zwiększa się ona o jeden z każdym kolejnym powtórzeniem liczby. Wiem że wynika to z tego, że do bieżącego elementu tablicy zapisuje, bieżąca wartość w(ilosc wystapien liczby). Nie wiem w jaki sposób mogłabym to zapisać. Bardzo prosiłabym o pomoc/ wskazówki.
Napisz program, który wczyta od użytkownika tablicę o wymiarze 15x15, wypełnioną wartościami z zakresu <0, 30), a następnie utworzy tablicę wynikową, w której wartości z tablicy wejściowej zostaną zastąpione liczbą ich wystąpień. W przypadku wprowadzenia przez użytkownika błędnych danych program powinien wyświetlić komunikat incorrect input i zakończyć działanie z kodem błędu 1, a w przypadku wprowadzenia liczby spoza zakresu komunikat value out of range i zwrócić wartość 2.
#include <stdio.h>
int main(void) {
int t[15][15], w;
printf("uzupelnij macierz \n");
for(int i=0; i<15; i++)
{
for(int k=0; k<15; k++)
{
int l=scanf("%d",&t[i][k]);
if(l!=1)
{
printf("incorrect input");
return 1;
}
else if (t[i][k]<0 || t[i][k]>=30)
{
printf("value out of range\n");
return 2;
}
}
}
int l=0;
while(l<30)
{ w=0;
for (int i=0; i<15; i++)
{
for(int p=0; p<15; p++)
{
if(t[i][p]==l)
{
w++;
t[i][p]=w;
}
}
}
l++;
}
for(int p=0; p<15; p++)
{
for(int j=0; j<15; j++)
{
printf("%5d", t[p][j]);
}
printf("\n\n");
}
return 0;
}