Najwiekszy i najmniejszy el. w tablicy.

0

Napisać program wyszukujący minimalny i maksymalny element w tablicy. Tablica jest zdefiniowana globalnie. Wyszukanie minimum i maksimum powinno odbywać się w funkcji, która oblicza te wartości zapisując je w drugim i trzecim parametrze funkcji przekazywanych przez adres. Pierwszym parametrem funkcji jest rozmiar tablicy, przekazywany przez wartość. Funkcja nie zwraca żadnej wartości. Funkcja operuje na tablicy globalnej.

Proszę o pomoc w znalezieniu błędu. Coś jest z przekazaniem argumentów do funkcji, ale nie wiem co : /.

#include <stdio.h>
#include <time.h>
#define ROZMIAR 10

int tab[ROZMIAR];

void szuk(int v, int *MIN, int *MAX);

int main() {

	int i;
	int *min,*max;
	
	
	srand((int)time(0));	
	
	for(i=0;i<ROZMIAR;i++)
		tab[i]=rand()%30;
	for(i=0;i<ROZMIAR;i++)
		printf("%d ",tab[i]);
			
	min=tab;
	max=tab;
	
	//nie dziala
	szuk(ROZMIAR,min,max);
		
	printf("\nNajwiekszy el. w tablicy to: %d\nNajmniejszy el. w tablicy to %d",*max,*min);
	
	return 0;
}


void szuk(int v, int *MIN, int *MAX){
	
	int i;
	
		
	for(i=0;i<v;i++){
		
		if (*MIN>tab[i]) 
			MIN=tab+i;
		if (*MAX<tab[i]) 
			MAX=tab+i;
	}
	
	
}
0

A co to ma wspólnego z zadaniem? o_O

#include <stdio.h>
#include <time.h>
#define ROZMIAR 10
 
int tab[ROZMIAR];
 
void szuk(int v, int *MIN, int *MAX);
 
int main() {
 
        int i;
        int min,max;
        srand((int)time(0));        
        for(i=0;i<ROZMIAR;i++)
                tab[i]=rand()%30;
        for(i=0;i<ROZMIAR;i++)
                printf("%d ",tab[i]);
        min=tab[0];
        max=tab[0];
        szuk(ROZMIAR,&min,&max);
        printf("\nNajwiekszy el. w tablicy to: %d\nNajmniejszy el. w tablicy to %d",max,min);
        return 0;
}
 
 
void szuk(int v, int *MIN, int *MAX){
        int i;
        for(i=0;i<v;i++){
 
                if (*MIN>tab[i]) 
                        *MIN=tab[i];
                if (*MAX<tab[i]) 
                        *MAX=tab[i];
        }
}
0

Mój kod?

0

Dobrze. Nie zrozumiałem i nie rozumiem dalej jak mam przekazać adres jeśli wskaźnikiem jest źle. Bardzo prosilbym o wytłumaczenie : )

0

Faktycznie. Teraz już rozumiem. Dziękuję za pomoc.

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