Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 семестр / Примеры массивов.pptx
Скачиваний:
3
Добавлен:
26.02.2023
Размер:
106.17 Кб
Скачать

Пример№3

Дан целочисленный массив, содержащий не более 10 элементов. Найти номер первого нулевого элемента в массиве.

#include <iostream> using namespace std; int main() {

int a[10], n,k; do {

cout << " array size " << endl;

cin>> n;//реальный размер массива

}

while (n<1 || n>10);//ввод размера массива с проверкой диапазона, заданного в описании массива

Продолжение примера №3

//ввод элементов массива for (int i=0; i<n; i++) { cout<<i<<" array element "; cin>>a[i];

}

int i=0;

while (i<n && a[i]!=0) i++;

if (i== n)cout<<" no zeros \n"; else

cout<<" number of the first zero = "<<i; return 0;}

Пример№4 программы с использованием массива.

Пусть задан x - массив из n чисел.

Надо найти максимальное значение в массиве.

X

Xmax

Xmax-ячейка для хранения максимального элемента

• Алгоритм

начало

Ввод X,n

 

 

Xmax = X[0]

 

i= 1

да

нет

 

Xmax<X[i]

Xmax =X[i]

i= i+1

да

нет

i < n Вывод Xmax

конец

#include <iostream> using namespace std; int main(void)

{ int x[10]; /* резервирует место для 10 целочисленных элементов */

int i, Xmax,n; cin>>n;

//ввод реального числа элементов массива for (int i=0; i<n; i++) {

cout<<i<<" array element "; cin>>x[i];}

Xmax = x[ 0 ]; //подготовка цикла

i=1; do

if (x[ i ] > Xmax )Xmax = x[ i ]; i= i + 1;

while (i < n); cout<< Xmax; return 0;}

Модифицируем алгоритм для нахождения индекса минимального элемента Пример №5.

• Алгоритм

Ввод X,n

Nmin = 0

i= 1

да X[Nmin]>X[i] нет

Nmin = i

i= i+1

да

нет

i < n Вывод Nmin

stop

Программа

#include <iostream> using namespace std; int main(void)

{int x[10]; /* резервирует место для 10 целочисленных элементов */ int i, Nmin,n; cout<<“n=?”; cin>>n; If(n<1||n>10){cout<<“NZD”;exit(1);}

else{

//ввод элементов массива for (int i=0; i<n; i++) { cout<<i<<" array element "; cin>>x[i];}

Nmin =0; //подготовка цикла i=1;

do

if (x[ i ] < x[Nmin] )Nmin = i ; i= i + 1;

while (i < n); cout<<“Nmin=“<<Nmin;} return 0;}

Пример №6.

Водномерном массиве найти, под каким номером стоит первый чётный по значению элемент.

Введём следующие обозначения.

x - исходный массив

n - реальное число элементов x nom - искомая переменная(флаг)

i – номер исследуемого элемента массива x

Ввод x,n Nom = -1

i=0

нет

да

X[i] % 2==0

Nom = i

 

i = i+1

 

 

да

i<n && Nom<0 нет

 

 

 

нет

Nom== -1

да

 

 

 

 

вывод Nom

 

Вывод «нет чётных»

stop

#include <iostream> using namespace std;

const int n=8;//длина массива, когда массив описывается //статически, то адрес памяти выдан транслятором и его

//изменять нельзя

int main(void) {int x[n];int Nom,i;

for (i=0;i<n; i++)//цикл для ввода всего массива {cout<<“x[“<< i << “]=“;

cin>>x[i];}

Nom=-1; //определение флажка (результата) i=0;

do

if (x[i] %2 = =0) Nom=i; //анализ эл-та i=i+1;

while ((i < n) &&(Nom == -1));

// печать результата if (Nom == -1) cout<<“net chetnix”;

else cout<<“nom=“<< Nom<<endl; return 0;

}