Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Нахождение максимального элемента в массиве




 

# include <iostream.h>

const int n=10; //определяем константой кол-во элементов

void main()

{

int a[n];

int i, max;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

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

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

max=a[0]; //присваиваем максимуму первый элемент, а затем в цикле сравниваем с каждым элементом в цикле

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

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

cout<<”max=”<<max<<endl;

}

 

Примечание

Общая структура решения задач с массивами(сумма, максимальный элемент, упорядочивание массива, сдвиг массива):

Описание переменных

Ввод данных

Соответствующие вычисления

Вывод результата

 

Задача 2

Циклический сдвиг массива влево на одну позицию

 

Пример

На входе: 5 3 4 2

На выходе: 3 4 2 5

 

# include <iostream.h>

const int n=10;

void main()

{

int a[n];

int i, r;

//Ввод массива с клавиатуры

cout<<”enter array a:”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

r=a[0];

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

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

a[n-1]=r;

//Вывод массива на экран

cout<<”array a”<<endl;

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

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

}

 

Задача 3

Подсчитать количество максимумов в массиве

 

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i, number, max;

 

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

max=a[0];

number=1;

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

if (max< a[i])

{

max=a[i];

number=1;

}

else

if (max==a[i]) number++;

cout<<”max=”<<max<<endl;

cout<<”number=”<<number<<endl;

}

 

 

Задача 4

Подсчитать сумму элементов массива

 

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i, sum;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

sum=0;

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

sum=sum+a[i]; //возможный вариант y+=a[i];

cout<<”sum=”<<sum<<endl;

}

 

Задача 5

Стратегия вычисления A- и E- кванторов

(проверка существования элемента в массиве)

При вычислении E- квантора булевская переменная задается как false.

 

При вычислении A- квантора булевская переменная

задается как true.

 

1) t=(Ei)[ a[i]<0 ]

t= true, если в массиве существует отрицательный

элемент, в противном случае t=false.

 

# include <iostream.h>

const int n=10;

void main()

{

int a[n];

int i;

bool f=false;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

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

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

for (i=0; i<n&&!t; i++)

if (a[i]<0) t=true;

if (t) cout<<”exist”<<endl;

else cout<<”not exist”<<endl;

}

 

 

2) t = (Ai)[ a[i]>=0 ]

 

T-true, если в массиве все элементы больше

Или равны нулю

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i;

bool p=true;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

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

cout<<a[i]<<’ ‘;

cout<<endl;

 

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

if(a[i]<0) p = false;

if (p) cout<<”any”<<endl;

else cout<<” not any”<<endl;

}

 

Лекция №7

Массивы(продолжение)

Методы сортировки массивов.

 

Алгоритм сортировки методом нахождения локальных экстремумов

Алгоритм сортировки методом обмена пар

Алгоритм сортировки вставкой

Задача 1

Упорядочить массив по неубыванию.

Алгоритм сортировки методом нахождения локальных экстремумов

 

Необходимо отсортировать массив удовлетворяющий

условию (Ai)[ a[i]<=a[i+1] ].

(для любого i справедливо а[i]<=a[i+1])

 

В цикле проверяем условие,

если a[i] >a[i+1], то a[i] и a[i+1 ]меняем местами

 

# include <iostream.h>

const int n=10;

void main()

{

int a[n];

int i, j,r;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

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

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

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

cout<<a[i]<<’ ‘;

cout<<endl;

 

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

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

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

{

r=a[i]; a[i]=a[j]; a[i]=r;

}

//Вывод массива на экран

cout<<”array a”<<endl;

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

cout<<a[i]<<’ ‘;

cout<<endl;

}

 

Задача 2.





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 383 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2524 - | 2183 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.