Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические / Пр №6.Сортировка массивов.odt
Скачиваний:
6
Добавлен:
17.04.2015
Размер:
18.82 Кб
Скачать

Практическое занятие №6. Обработка массивов.

//Найти два наибольших числа в массиве

#include <stdio.h>

#include <stdlib.h>

int main()

{

int a[10];

int i, n,fi,se;

printf("Vvesti massiv thisel\n");

for(i=1;i<=10;i++)

scanf("%i",&a[i]);

if (a[1]>a[2]) {fi=a[1];se=a[2];}

else {fi=a[2];se=a[1];}

for (i=3;i<=10;i++)

if (a[i]>fi) {se=fi;fi=a[i];}

else if(a[i]>se) se=a[i];

printf("%i %i\n",fi,se);

system("pause");

return 0;

}

//Написать программу вычисления среднего

//значения элементов массива

#include <stdio.h>

#include <stdlib.h>

Int main()

{

int i;

const int n=10;

int a[n]={1,3,-5,1,-2,1,-1,3,8,4};

for (i=0; i<n; i++)

printf("%i ",a[i]);

int s=0;

for (i=0;i<n;i++)

s+=a[i];

s=s/n;

printf("S=%i\n",s);

system("pause");

return 0;

}

//

//1 3 -5 1 -2 1 -1 3 8 4

//S=1

//Написать программу вычисления среднего значения

// элементов массива

// и срене квадратического отклонения

// Среднее значение вычисляется по формуле

//

// Xcр= S Хi

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

Int main()

{

int i;

const int n=10;

int a[n]={1,3,-5,1,-2,1,-1,3,8,4};

for (i=0; i<n; i++)

printf("%i ",a[i]);

float s=0,r=0,d;

for (i=0;i<n;i++)

{ s+=a[i];

r+=a[i]*a[i];}

d= n*r-s*s;

s=s/n;

d=pow(d,0.5)/n;

printf("S=%f D= %f \n",s,d);

system("pause");

return 0;

}

//

//1 3 -5 1 -2 1 -1 3 8 4

//S=1.3 D=3.37

//Инициация массивов с помощью генератора случайных чисел

//и нахождение коэффициента корреляции между двумя рядами.

#include <stdlib.h>

#include <stdio.h>

#include <math.h>

#define n 15

Int main ()

{

int i,sx,sx2,sy,sy2,sxy,x[n],y[n];

for (i=0;i<n; i++)

{x[i]=rand()/3276;y[i]=rand()/3276;}

float r;

sx=sy=sx2=sy2=sxy=0;

for (i=0;i<n; i++)

{

sx+=x[i];

sy+=y[i];

sx2+=x[i]*x[i];

sy2+=y[i]*y[i];

sxy+=x[i]*y[i];

}

r=(n*sxy-sx*sy)/pow((n*sx2-sx*sx)*(n*sy2-sy*sy),0.5);

printf(" R= %f\n",r);

system("pause");

return 0;

}

// R= 0.21

//Cортировка массива методом пузырька

#include <stdio.h>

#include <stdlib.h>

int main(void){

int n;

printf("Enter N=\n");

scanf("%i",&n);

int i,j,a[n],s;

for (i=0;i<n; i++) a[i]=rand()/327;

for(i=0;i<n;i++)

printf("%i ",a[i]);

printf("\n");

for (j=1;j<=(n-1);j++)

for (i=0; i<n-j; i++)

if(a[i]>a[i+1]) {

s=a[i+1];

a[i+1]=a[i];a[i]=s;}

qsort(n,a);

for(i=0;i<n;i++)

printf("%i ",a[i]);

system("pause");

return 0;

}

// Для сортировки массивов в С++ имеется специальная функция

//Cортировка массива методом выбора

//Дана последовательность чисел а

//Требуется рассортировать в

//порядке убывания.

//Для этого в массиве, начиная с первого,

//выбирается наибольший элемент и ставится на первое место,

//а первый на место наибольшего и т д.

#include <stdio.h>

#include <stdlib.h>

Int main(void){

int n;

printf("Enter N=\n");

scanf("%i",&n);

int i,j,a[n],s;

for (i=0;i<n; i++) a[i]=rand()/327;

for(i=0;i<n;i++)

printf("%i ",a[i]);

printf("\n");

for (i=0; i<n; i++)

for(j=i+1; j<n;j++)

if(a[i]>a[j]) {

s=a[i];

a[i]=a[j];a[j]=s;}

for(i=0;i<n;i++)

printf("%i ",a[i]);

system("pause");

return 0;

}

// Для сортировки массивов в С++ имеется специальная функция

// qsort();

//Cортировка массива методом выбора

//Дана последовательность чисел а

//Требуется рассортировать в

//порядке возростания.

//Для этого в массиве, берется следующее число

//и вставляется в последовательность, чтобы новая

//последовательность тоже была возростающей и т д.

#include <stdio.h>

#include <stdlib.h>