Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические / Пр №5.Массивы

.odt
Скачиваний:
6
Добавлен:
17.04.2015
Размер:
18.46 Кб
Скачать

Практическое занятие №5. Массивы одномерные.

//Написать программу ввода и вывода

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

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i,n;

printf("Ввести количество чисел N \n");

scanf("%i",&n);

int ra[n];

printf("Vvesti N znatheniy\n");

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

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

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

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

system("pause");

return 0;

}

// Результат

// 10

//1 2 3 4 5 6 7 8 9 10

//1 2 3 4 5 6 7 8 9 10

//Написать программу инициации массива и нахождение

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

#include <stdio.h>

#include <stdlib.h>

int main ()

{

int i, a[10]={4,5,6,3,8,5,6,4,1,5} , min,max;

min=max=a[0];

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

{ if (a[i]>max) max=a[i];

if(a[i]<min) min=a[i];

}

printf("Max= %i Min= %i \n",max,min);

system("Pause");

return 0;

}

//Max= 8 Min= 1

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

//и нахождение мин мах

#include <stdlib.h>

#include <stdio.h>

int main ()

{

int i,max,min, a[10];

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

a[i]=rand();

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

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

max=min=a[0];

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

{ if (a[i]>max) max=a[i];

if (a[i]<min) min=a[i];

}

printf(" \n Max=%i Min=%i \n", max,min);

system("pause");

return 0;

}

// Max=29441 Min= 41

//Написать программу записи элемента массива

#include <stdio.h>

#include<stdlib.h>

int main()

{

const int n=10;

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

int k,m;

printf("Ввести номер заменяемого элемента и его значение\n");

scanf("%i%i",&k,&m);

a[k-1]=m;

printf(" К элемент =%i %i\n",k,m);

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

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

system("pause");

return 0;

}

// 5 2

// 3 -5 1 2 1 -1 3 4 0

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

#include <stdio.h>

#include<stdlib.h>

int main()

{

const int n=10;

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

int k,m;

printf("Ввести номер считываемого элемента \n");

scanf("%i",&k);

m=a[k-1];

printf(" К элемент =%i %i\n",k,m);

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

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

system("pause");

return 0;

}

// -2

//1 3 -5 1 -2 1 -1 3 4 0

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

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i,n;

printf("Ввести n количество элементов массива\n");

scanf("%i",&n);

printf("Vvesti %i значений \n",n);

{int ra[n];

for (i=0; i<n; i++)scanf("%i",&ra[i]);

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

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

int s=0;

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

s+=ra[i];

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

}

system("pause");

return 0;

}

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

//Вводим элементы массива 1 2 3 4 5 6 7 8 9 10

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

//

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

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i,n;

printf("Ввести n количество элементов массива\n");

scanf("%i",&n);

printf("Vvesti %i значений \n",n);

{int ra[n];

for (i=0; i<n; i++)scanf("%i",&ra[i]);

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

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

int s=1;

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

s*=ra[i];

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

}

system("pause");

return 0;

}

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

//Вводим элементы массива 1 2 3 4 5 6 7 8 9 10

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

//

//Сосчитать количество положительных элементов

//расположенных между мин и мах элементами

#include <stdio.h>

#include<stdlib.h>

int main()

{

const int n=10;

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

int imax=0,imin=0,co=0;

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

{

if (a[i]>a[imax]) imax=i;

if (a[i]<a[imin]) imin=i;

}

int ibeg=imax<imin?imax:imin;

int iend=imax<imin?imin:imax;

for (int i=ibeg;i<iend;i++)

if (a[i]>0) co++;

printf(" Pologitelnyx thisel= %i\n",co);

system("pause");

return 0;

}

//Положительных чисел 3

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

#include <stdio.h>

#include<stdlib.h>

int main()

{

const int n=10;

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

int imax=0,imin=0,co=0;

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

{ if (a[i]>a[imax]) imax=i;

if (a[i]<a[imin]) imin=i;

}

printf("Imax %i imin=%i\n",imax,imin);

for (int i=imax;i<n;i++)

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

a[n-1]=0;

printf("\n");

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

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

system("pause");

return 0;

}

//1 3 -5 1 -2 1 -1 3 4 0

//Удалить мах и мин элементы из массива

#include <stdlib.h>

#include <stdio.h>

int main()

{

const int n=10;

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

int i,imax,imin,max,min,i1,i2;

max=min=a[0];

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

{

if (a[i]>max ){max=a[i]; imax=i;}

if (a[i]<min) {min=a[i];imin=i;}

}

printf("Imax %i imin=%i\n",imax,imin);

if (imax>imin){i1=imin;i2=imax;}

else {i1=imax; i2=imin;}

for (i=i1;i<i2; i++)

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

for (i=i2-1;i<n-1; i++)

a[i]=a[i+2];

a[n-1]=0;

a[n-2]=0;

printf("\n");

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

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

system("pause");

return 0;

}

//1 3 1 -2 1 -1 3 4 0 0

//Написать программу вставки элемента массива

#include <stdio.h>

#include<stdlib.h>

int main()

{

const int n=10;

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

int k,m;

printf("Ввести номер вставляемого элемента и значение\n");

scanf("%i%i",&k,&m);

for (int i=n; i>=k; i--)

a[i]=a[i-1];

a[k]=m;

printf("\n");

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

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

system("pause");

return 0;

}

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

Домашнее задание.

155. Написать программу, которая объединяет два упорядочен­ ных по возрастанию массива в один, также упорядоченный мас­ сив. Рекомендуемый вид экрана во время работы программы приведен ниже, данные, введенные пользователем, выделены полужирным шрифтом. Объединение двух упорядоченных по возрастанию массивов. Введите в одной строке элементы первого массива, (5 целых чисел) -> 1 3 5 7 9 Введите в одной строке элементы второго массива, (5 целых чисел) -> 2 4 б 8 10 Массив — результат 1 2 3 4 5 6 7 8 9 10 Для завершения работы нажмите <Enter>.