Część wspólna wszystkich poleceń:

Wygeneruj losowo tablicę liczb o rozmiarze N.

1. Napisz funkcje znajdujące największą i najmniejszą wartość w tablicy liczb całkowitych
Prototypy funkcji:

int tabmax(int tab[], int tabsize);
int tabmin(int tab[], int tabsize);

2. Napisz funkcję obliczającą sumę elementów tablicy

3. Napisz funkcję obliczającą wartość średnią elementów tablicy

4. Napisz funkcje takie jak w p. 1, ale zwróć położenie znalezionej wartości w tablicy a nie jej wartość.

1

Odpowiedzi

2009-12-06T14:52:01+01:00
Void Losuj(int t[],int r,int a,int b);
void Wypisz(int tab[],int n);
int Minimalny(int tab[],int n);
bool Powtorzenia(int tab[],int r);
int main ()
{
int n;
char znak;
int pp,kp;
cout<<"Podaj rozmiar tablicy: ";
cin>>n;
int liczby[n];
cout<<"Podaj poczatek przedzialu z ktorego maja byc losowane
liczby: ";
cin>>pp;
cout<<"Podaj koniec przedzialu z ktorego maja byc losowane
liczby: ";
cin>>kp;
cout<<"Losuje liczby z przedzialu ["<<pp<<","<<kp<<"]"<<endl;
Losuj(liczby,n,pp,kp);
Wypisz(liczby,n);
cout<<"Znalezienie elementu minimalnego - m"<<endl;
cout<<"Sprawdzenie czy tablica zawiera powtorzenia -
p"<<endl;
cout<<"Koniec programu - inny klawisz"<<endl;
cin>>znak;
if(znak=='m')
{
cout<<"Element minimalny tablicy to"
<<Minimalny(liczby,n)<<endl;
}
else if(znak=='p')
{
if(Powtorzenia(liczby,n))
{
cout<<"Tablica zawiera powtorzenia"<<endl;
}
else
{
cout<<"Tablica nie zawiera powtorzen"<<endl;
}
}
system("PAUSE");
}
void Losuj(int tab[],int r,int a,int b)
{
int temp,przedzial;
przedzial=b-a;
srand(time(NULL));
for (int i=0; i<r; i++)
{
temp=rand();
tab[i]=temp%przedzial+a;
}
}
void Wypisz(int tab[],int r)
{
cout<<"Elementy tablicy:"<<endl;
for(int i=0;i<r;i++)
{
cout<<"Element "<<i+1<<": "<<tab[i]<<endl;
}
}
int Minimalny(int tab[],int r)
{
int min=tab[0];
for(int i=1;i<r;i++)
{
if(min>tab[i]) min=tab[i];
}
return min;
}
bool Powtorzenia(int tab[],int r)
{
bool powt=false;
int temp;
for(int i=0;i<r-1;i++)
{
for(int j=0;j<r-1;j++)
{
if(tab[j]<tab[j+1])
{
temp=tab[j];
tab[j]=tab[j+1];
tab[j+1]=temp;
}
}
}
for(int j=0;j<4;j++)
{
if(tab[j]==tab[j+1])
{
powt=true;
}
}
return powt;
}