C :: Aufgabe #4 :: Lösung #1
3 Lösungen
#4
Funktion welche Minimum und Maximum aus einem Array zurückgibt
Anfänger - C
von Gustl
- 07.12.2012 um 17:36 Uhr
Programmieren Sie eine Funktion welche aus einem Array von Integer-Elementen das Minimum und Maximum zurückgibt.
Als Übergabe-Parrameter wird das Array übergeben.
Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
Als Übergabe-Parrameter wird das Array übergeben.
Testen Sie die Funktion mit 2 Abfragen, bzw. mit 2 verschiedenen Arrays.
Hilfestellung: Sortierverfahren - Wikipedia
#1
von devnull (8870 Punkte)
- 01.07.2013 um 20:19 Uhr
/****************************************
* min_max.c Min/Max aus Integer-Array
*
* OS : GNU/Linux
* compile: gcc -Wall -o min_max min_max.c
*
* devnull 01-07-2013
****************************************/
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include <time.h>
void min_max( int *pa, int n, int *pmin, int *pmax )
{
int imin=INT_MAX;
int imax=INT_MIN;
int i;
for (i=0;i<n;i++,pa++) {
imin = (*pa < imin)?*pa:imin;
imax = (*pa > imax)?*pa:imax;
}
*pmin=imin;
*pmax=imax;
}
void print_array( int *pa, int n )
{
int i;
for (i=0;i<n;i++,pa++) printf("%d ", *pa);
printf("\n");
}
/* main */
int main( void )
{
int arr[] = {4,3,2,1,0,-1,-2,-3,-4,-5};
int anz=sizeof(arr)/sizeof(int);
int min,max,i;
print_array( arr,anz );
min_max( arr, anz, &min, &max );
printf("Min=%d , Max=%d\n\n", min,max );
srand(time(NULL));
for (i=0;i<anz;i++) arr[i] = rand() % 1000;
print_array( arr,anz );
min_max( arr, anz, &min, &max );
printf("Min=%d , Max=%d\n\n", min,max );
return 0;
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
