Cześć!
Udało mi się naprawić kod napisany przez mojego nauczyciela (specjalnie błędnie) ale program po uruchomieniu i próbie wygenerowania liczb do tablicy dwuwymiarowej zwyczajnie się wysypuje i nie mam pojęcia dlaczego. Bardzo proszę o wskazanie błędu i wytłumaczenia co jest źle. Z góry dziękuję :)
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void wpisz_oceny(float **a,int n, int k) //n-ilosc uczniow, k-ilosc ocen
{
int i,j,ilo;
for (i=0;i<n;i++)
for (j=0;j<k;j++) //zerowanie tablicy
a[i][j]=0;
srand(time(NULL));
for (i=0;i<n;i++)
{
ilo=rand()%11;
for (j=0;j<ilo;j++)
a[i][j]=rand()%6+1;
}
}
void wyswietl_oceny(float **a,int n, int k)
{
int i,j;
system("cls");
cout<<"nr ucznia oceny\n";
for(i=0;i<n;i++)
{
cout<<i<<" ";
for(j=0;j<k;j++)
if (a[i][j]!=0) cout<<a[i][j]<<" ";
cout<<"\n";
}
system("pause");
}
int main()
{
char w;
float *oceny[10][10];
do
{
system("cls");
cout<<"Wybierz co chcesz zrobic:";
cout<<"\n1. Wpisywanie liczb do tablicy";
cout<<"\n2. Wyswietlanie liczb z tablicy";
cout<<"\n3. Obiczenie sredniej";
cout<<"\n4. Koniec\n";
cin>>w;
switch(w)
{
case '1': wpisz_oceny(*oceny,10,10);break;
case '2': wyswietl_oceny(*oceny,10,10);break;
//case '3': srednia_ocen(*oceny,10,10);break;
}
} while (w!='4');
return 0;
}