Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
268 Кб
Скачать
☆

Void main ( )

{ int n, i, nom; float a[100], sr, sum = 0, min;

cout <<” введите количество элементов”;

cin >> n;cout << “ введите”<<n<<”чисел\n”;

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

{cin >>a[i]; sum+=a[i];}

sr=sum/n;

min=fabs(sr – a[1]); nom = 1;

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

{ if (fabs(sr – a[i])<min) { min= fabs(sr – a[i]) ; nom = i;}

}

cout <<” ближе всего к среднему” << nom << “элемент”;

}

Пример №3. Дано натуральное число. Получить новое число, записав цифры исходного числа в обратном порядке.

an 10n + an-1 10n-1 +… + a0 100 + a -1 10 -1 + …

#include<iostream.h>

#include<math.h>

Void main ( )

{ int n, a[10], I=0, st, j;

cout << “введите натуральное число”; cin >> n;

while (n) // т.е. пока n 0

{ a[i++] = n – n/10*10; // последняя цифра

n/=10; //число без последней цифры

st = j = i – 1;

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

{ n+=a[I]*pow(10, j); j – – ; }

cout << “новое число :” << n;

}

Вложенные циклы.

Когда один цикл находится внутри другого, то говорят, что это вложенные циклы. Вложенные циклы часто встречаются при обработке таблиц чисел (матриц). Во вложенных циклах быстрее работают внутренние циклы.

Матрица – таблица чисел с адресами:

a[0][0] a[0][1] a[0][2] a[0][3]

a[1][0] a[1][1] a[1][2] a[1][3]

a[2][0] a[2][1] 2[2][2] a[2][3]

Двумерные массивы можно инициализировать при объявлении, например:

Int a[2][3]={1, 2, 2,

3, 4, 5 };

При этом левый верхний элемент матрицы имеет адрес a[0][0]

Матрицу можно заполнять с клавиатуры или использовать генератор случайных величин.

Пример №1. Дана действительная квадратная матрица порядка n. Выяснить, верно ли, что наибольшее из значений элементов главной диагонали больше, чем наименьшее из значений элементов побочной диагонали. Для заполнения матрицы будем использовать генератор случайных величин.

1.1 1.2 1.3 1.4

2.1 2.2 2.3 2.4

3.1 3.2 3.3 3.4

4.1 4.2 4.3 4.3

#include<iostream.h>

#include<stdlib.h>

#include<iomanip.h>

Void main ( )

{ int n, a[10][10], i, j, max, min;

cout<<”введите размерность матрицы:”;

cin>>n;

randomize(); //инициализация генератора случайных величин

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

{

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

{

a[i][j]=random(100)-random(100);

cout << setw(5)<<a[i][j];

}

cout<<endl;

}

max=a[1][1]; min=1[1][n];

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

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

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

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

if (max > min) cout<<”верно”;

else cout << “неверно”;

}

При вводе матрицы с клавиатуры можно использовать функции позиционирования курсора в нужное место экрана, чтобы при вводе числа отображались в виде таблицы. Для этого используется заголовочный файл <conio.h> , который содержит функции:

gotoxy(a, b) перемещает курсор в позицию а строки в

wherex() , wherey() возвращают координаты x, y текущего положения курсора.

сlrscr() очистка экрана

Пример №2. Дана действительная матрица размера nm. Найти среднее арифметическое положительных элементов каждого столбца матрицы. Ввод матрицы с клавиатуры с использованием позиционирования курсора.

#include <iostream.h>

#include <conio.h>