Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Średnia, min i max w kolumnach tablicy.

Ostatnio zmodyfikowano 2015-04-16 23:08
Autor Wiadomość
CoolPrune9
Temat założony przez niniejszego użytkownika
[C] Średnia, min i max w kolumnach tablicy.
» 2015-04-16 23:08:55
Próbuje napisać program, który liczy średnią, wyszukuje min i max w kolumnach. Poruszanie po tablicy ma odbywać się przy pomocy wskaźników. Średnia, wyznaczanie min i max maja być oddzielnymi funkcjami do których przekazuje tablice i ilość wierszy i kolumn. Na razie jednak nie mam pojęcia jak zabrać się za skonstruowanie tych funkcji. Dla wybranej kolumny umiałbym to zrobić choć bez wykorzystania wskaźnika. Niestety niedawno zacząłem się ich uczyć i tak do końca nie wiem jeszcze jak działają. W tablicy jednowymiarowej dość sprawnie się nimi posługuje ale nie w dwuwymiarowej. Na razie udało mi się wypełnić tablice i wyświetlić przy wykorzystaniu wskaźników. Wszystkie rady i sugestie będą mile widziane. Zależy mi na zrozumieniu jak poruszać się po wierszach zachowując stałą kolumnę i jak powtórzyć to dla reszty kolumn. Domyślam się, że wyniki najwygodniej będzie zapisać do tablicy pod indeksami będącymi indeksami kolumny tablicy.


Tutaj moje dotychczasowe postępy.
C/C++
#include<stdio.h>
#include<stdlib.h>
#include <ctype.h>
#include <stdbool.h>
#include <time.h>



/*
int min(int *wsk, int w, int k);
int max(int *wsk, int w, int k);
float srednia(int *wsk, int w, int k);
*/

int main() {
    int w, k;
    int i, j;
    printf( "Podaj liczbe wersow a nastepnie kolumn \n" );
    scanf( "%d", & w );
    scanf( "%d", & k );
   
    int tab[ w ][ k ];
    int * wsk;
    wsk =& tab[ 0 ];
    //printf ("Uzupelnij tablice \n");
    srand( time( 0 ) );
    for( i = 0; i < w; i++ ) {
        for( j = 0; j < k; j++ ) {
            // scanf ("%d",wsk);
            * wsk = rand() % 100;
            wsk++;
        }
    }
    wsk =& tab[ 0 ];
    printf( "\nTablica \n" );
    for( i = 0; i < w; i++ ) {
        printf( "\n" );
        for( j = 0; j < k; j++ ) {
            //scanf ("%d",wsk+i);
            printf( "%d \t", * wsk );
            wsk++;
        }
       
    } /*
    wsk=&tab[0];
    min(wsk, w, k);
    max(wsk, w, k);
    srednia(wsk, w, k);
    */
    return 0;
}
/*
int min(int *wsk, int w, int k){
int i, j;
int tab[k];
int min=*wsk;
for (i=0;i<w;i++){
for (j=0;j<k;j++){

wsk++;
}


}
int max(int *wsk, int w, int k);
float srednia(int *wsk, int w, int k);*/

W kodzie jest dużo komentarzy ale to wynika z tego, że chciałem upewnić się co do kolejności wypełniania tablicy.
P-131027
« 1 »
  Strona 1 z 1