tablicowanie w języku c :)

0
#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 ?

0

Nie rozumiem. Napisałaś już aż tyle, ale nie potrafisz wypisać tablicy na początku programu? Czy może źle pytanie zrozumiałem?

0

ojej no czy to ważne?

0

Z tego wynika, że kod nie jest twój, poza tym niezły tu burdel w tym kodzie.

0

no to jesli tak uważasz to może mógłbyś mi pomóc?

0

Niczego się w ten sposób nie nauczysz.

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
    drukuj(tablica);

    return 0;
}
0

dziękuje :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1