Масиви задачи

      Библиотеката stdlib.h съдържа функциите rand() и srand().
Функцията rand()-зарежда случайни числа от 0 до 32767.Ако напишем а=rand()%101;
задаваме на а случайна стойност от 0 до 100.
Функцията srand()- задава начална стойност на случайните числа.Ако напишем srand(17);
Най-малкото случайно число ще бъде 17 .
При всяко на rand()генерира едни и същи случайни числа. За да не се повтарят функцията
srand() sе свързва с текущото време.

     Пример 1 : Зареждаме масив a[10] със случайни числа от 0 до 1000.
#include<iostream> // for Code Blocks
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
int i,a[10];
srand(time (0));
for(i=0;i<10;i++)
{
a[i]=rand()%1001;
}
for(i=0;i<10;i++)
{
cout << a[i] << ",";
}
return 0;
}

     Пример 2 : Сумиране на четните числа на масив от 10 елемента.

#include<iostream> // for Code Blocks
#include<stdlib.h>
using namespace std;
int main()
{
int i ,a[10],S=0;
for(i=0;i< 10;i++)
{
a[i]=rand()%101;
}
for(i=0;i< 10;i++)
{
if ((a[i]%2)==0)
S=S+a[i];
}
cout<< "Suma= "<< S<< endl;
return 0;
}

     Пример 3 : Търсене в масив на числото х въведено от клавиатурата .
Най-елементарния случай.

#include <iostream> // for Code Blocks
using namespace std;
int main()
{
int i,a[5],x;
for(i=0;i<5;i++)
{
cout<< "a["<< i<< "]=>";
cin >> a[i];
}
cout<< "Vavedete x= ";
cin>> x;
for(i=0;i<5;i++)
{
if (a[i]==x)
cout<< "x="<< a[i]<< " and position ="<< i<< endl;
}
return 0;
}

     Пример 4 : Търсене в масив на числото х въведено от клавиатурата .
Масива се запълва с числа от 0 до 100 .

Променливата j в началото е равна на 0, ако е намерено съвпадение на x извежда позицията на която се намира,
ако j остава равно на 0 извежда - " Nama takova chislo".

#include<iostream> // for Code Blocks
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
int i,a[10],x,j=0;
srand(time (0));
for(i=0;i<10;i++)
{
a[i]=rand()%101;
cout<< a[i]<<","; }
cout<< "\nVavedete x= ";
cin>> x;
for(i=0;i< 10;i++)
{
if (a[i]==x)
{
cout<< "x="<< a[i]<< " and position ="<< i<< endl;
j++;
}
}
if (j==0)
cout<< " Nama takova chislo"<< endl;
return 0;
}

     Пример 5 : Въвеждате 10 цели числа в масив a[10].
Преброява четните числа и ги записва в друг масив b. След това ги
извежда на екрана.

#include<iostream> // for Code Blocks
using namespace std;
int main()
{
int i,a[10],b[10],br=0;
for(i=0;i<10;i++)
{
cout<< "a["<< i<< "]=>";
cin>>a[i];
}
for(i=0;i< 10;i++)
{
if (a[i]%2==0)
{
b[br]=a[i];
br++;
}
}
cout<< "br="<< br<< endl;
for(i=0;i< br;i++)
cout<< b[i]<< ",";
return 0;
}

     Пример 6 : Предаване на масив, като параметър на функция.

#include<iostream> // for Code Blocks
using namespace std;
void arr_in ( int a[],int n)
{
for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=>";
cin >> a[i];}
}
void arr_out( int a[],int n)
{ for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=";
cout<< a[i]<< endl;}
}
int main()
{
int n=5, a[n];
arr_in(a,n);
cout<< endl;
arr_out(a,n);
return 0;
}

     Пример 7 : Предаване на масив, като параметър на функции. Изчисляване на сумата от елементите и тяхната средна стойност.

#include<iostream> // for Code Blocks
using namespace std;
void arr_in ( int a[],int n)
{
for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=>";
cin >> a[i];}
}
void arr_out( int a[],int n)
{
for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=";
cout<< a[i]<< endl;}
}
double sum( int a[],int n)
{
double s=0;
for(int i=0;i< n;i++)
s=s+a[i];
return s;
}
double average( int a[],int n)
{
double avr=sum( a, n)/n;
return avr;
}
int main()
{
int n=5, a[n];
arr_in(a,n);
cout<< endl;
arr_out(a,n);
cout<< endl;
cout<< "sum="<< sum (a,n);
cout<< endl;
cout<< "average="<< average(a,n);
cout<< endl;
return 0;
}

     Пример 8 : Сортиране на масив по "Метод на мехурчето", реализиран чрез функции.

#include<iostream> // for Code Blocks
using namespace std;
int i,j,buf;
void arr_in ( int a[],int n)
{
for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=>";
cin >> a[i];}
}
void arr_sort( int a[],int n)
{
for(i=1;n>i;i++)
for(j=n-1;j >=i;j--)
if(a[j-1] >a[j])
{
buf=a[j-1];
a[j-1]=a[j];
a[j]=buf;
}
}
void arr_out( int a[],int n)
{
cout<< endl;
for(int i=0;i< n;i++)
{cout<< "a["<< i<< "]=";
cout<< a[i]<< endl;}
}
int main()
{
int n=5, a[n];
arr_in(a,n);
arr_sort(a,n);
arr_out(a,n);
return 0;
}


Благодаря за вниманието Ви !