#include <stdio.h>
#include <time.h> // standartowo biblioteki
int n = 5; // bardzo ważna zmienna, bedzie pojawiac sie w calym programie ! przed głównym programem czyli globalna. określa wymiary tablicy
void losuj(int t[n][n]); // definicja funkcji
void drukuj (int tab[n][n]);
void srednia_elementow(int tab[n][n]);
void maksimum(int tab[n][n]);
int main ()
{ ///ZMIENNE///////////////////////////////////////////////////////
int tablica[n][n], m; // <---- tablica na której operuje program i zmienna m używana w menu
///GŁÓWNY PROGRAM////////////////////////////////////////////////
srand(time(0)); // wiadomo - do liczb losowych
losuj(tablica); // pierwsza z funkcji ktore trzeba napisac - argumentem w nawiasie jest zmienna tablica bo do niej bedzie wpiswac losowe liczby
do {
do {
system("cls");
printf("Program wygenerowal wlasnie tablice dwuwymiarowa! \n Wybierz co chcesz zrobic :\n\n");
printf("1 - Wydrukuj na ekranie tablice\n2 - Oblicz srednia wybranego wiersza \n3 - Pokaz najwiekszy element wybranego wiersza\n4 - Wyjscie\n");
scanf("%d", &m);
fflush(stdin);
if (m == 1) drukuj(tablica);
if (m == 2) {drukuj(tablica); srednia_elementow(tablica); }
if (m == 3) {drukuj(tablica); maksimum(tablica);}
} while (m==1 || m==2 || m==3); // jezeli 1,2 lub 3 to wykonuje funkcje, jesli cos innego to przechodzi do zewnetrznej petli
} while (m!=1 && m!=2 && m!=3 && m!=4); // powtarza wyswietlanie menu poki nie zostana wcisniete odpowiednie klawisze
return 0;
}
/////////////////////////////FUNKCJE/////////////////////////////////
void losuj(int t[n][n]) { // w glownym programie t[n][n] jako argument polaczona jest ze zeminna tablica i do niej przesyla liczby
int w,k,tab[n][n]; // w,k zmienne do petli for, w jak wiersze, k jak kolumny
for (w=0; w<n; w++) {
for (k=0; k<n; k++) { // dla kazdej kolumny kolejnych wierszy przypisuje losowe liczby
t[w][k] = rand() % 25 + 7 ; // po znaku procent pierwsza liczba to gorna granica przedzialu z ktorego losujemy, a po plusie dolna granica
}
}
}
void drukuj (int tab[n][n]) {
int w, k;
printf("\n");
for (w=0; w<n; w++) {
for (k=0; k<n; k++) {
printf("%d\t", tab[w][k]); // drukuje liczbe dla kolejnych kolumn wiersza
}
printf("\n"); // przejscie do nastepnego wiersza zeby jakos to wygladalo
}
getchar();
}
void srednia_elementow(int tab[n][n]) {
int nr, i;
float srednia, suma = 0;
printf("Podaj numer wiersza, ktorego srednia chcesz policzyc: ");
scanf("%d",&nr);
fflush(stdin);
for (i=0; i<n; i++) {
suma += tab[nr-1][i]; //nr - 1 - uzytkownik poda 'wiersz 1' ale tablica zaczyna sie od wiersza 0
}
srednia = suma/i; // srednia i sume liczylismy mase razy na cwiczeniach : P
printf("%f", srednia);
getchar();
}
void maksimum(int tab[n][n]) {
int i, max, nr;
printf("Podaj numer wiersza dla ktorego chcesz wyznaczyc maksimum: ");
scanf("%d", &nr);
fflush(stdin);
max = tab[nr-1][0]; // poczatkowe maksimum to pierwsza kolumna wiersza
for (i=0; i<n; i++) {
if (max < tab[nr-1][i]) max=tab[nr-1][i]; // jezeli kolejna kolumna wiersza jest wieksza, to staje sie aktualnym maksimum
}
printf("Najwieksza liczba w wierszu %d jest %d.",nr,max);
getchar();
}
jak zmienić ten kod tak żeby od razu wyskakiwała mi tablica z liczbami losowymi ?