Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft_Visual_C++..doc
Скачиваний:
21
Добавлен:
29.10.2018
Размер:
691.2 Кб
Скачать

Пример 4 Нахождение суммы и среднего значения элементов массива

Напишем программу, определяющую общую и среднюю посещаемость Интернет-кафе за неделю:

#include "stdafx.h"

#include<stdio.h>

#include<conio.h>

using namespace System;

int main(array<System::String ^> ^args)

{

int n[7],i,S;

float Sr;

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

{

printf("Введите число посетителей за %d день ", i);

scanf("%d",&n[i]);

}

S=0;

for (i=1;i<=7;i++) S=S+n[i];

Sr=S/7;

printf("Общая посещаемость = %d\nСреднее значение посещаемости = %f\n ",S, Sr);

getch();

return 0;

}

Вычисление суммы элементов массива представлено в таблице 2.

Таблица 2 – Вычисление суммы элементов массива

Исходные данные: 13, 12, 9, 7, 10, 6, 10

i

1

2

3

4

5

6

7

n[i]

36

31

45

48

57

71

70

S

0

36

67

112

160

217

288

358

Тестирование:

Задание 4

Выполните программу примера 4.

Пример 5 Нахождение наибольшего элемента массива и его номера

Напишем программу, определяющую наибольшее число посетителей Интернет-кафе за неделю.

Чтобы лучше представить себе, как последовательно просмат­ривать и сравнивать между собой числа, записанные в памя­ти, вообразим, что каждое число написано на отдельной кар­точке и карточки сложены стопкой. В таком случае мы первое число запомним сразу как наибольшее и перевернем карточку. Теперь в нашем распоряжении два числа: одно видим, другое — помним. Сравнивая их между собой, запомним большее, т. е. если первое было больше, то запоминать новое не придется и надо смотреть следующую карточку. Если второе больше пер­вого, то первое в дальнейшем помнить нет смысла и мы за­помним второе. Таким образом, на каждом этапе сравнения мы будем помнить большее из просмотренных чисел и в кон­це решим поставленную задачу. Записав приведенные рассуж­дения в виде операторов, получим программу нахождения на­ибольшего значения. Промежуточные значения и ответ содер­жит переменная max. Переменная k содержит номер (индекс) максимального элемента.

Код поиска максимального элемента массива и его номера (максимального числа посетителей):

k=1;

max=n[1];

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

if (max<n[i])

{

k=i;

max=n[i];

}

printf("Максимальное число посетителей %d на %d день",max,k);

Задание 5

Дополните программу примера 4 кодом поиска максимального элемента массива и его номера. Определите количество дней, когда число посетителей было больше 50.

3 Двумерные массивы (матрицы)

Для ввода (вывода) элементов двумерного массива используются вложенные циклы:

int n=3, a[3][3],i,j;

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

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

{

printf("введите элемент %d %d матрицы a ",i,j);

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

}

Пример 6 Суммирование матриц

Чтобы сложить (вычесть) две матрицы, необходимо сложить (вычесть) соответствующие элементы этих матриц:

si,j = ai,j + bi,j ; i=1,2,...,n; j=1,2,...,m,

где n, m – размеры матриц.

#include "stdafx.h"

#include<stdio.h>

#include<conio.h>

using namespace System;

int main(array<System::String ^> ^args)

{

int n=3, a[3][3], b[3][3],s[3][3],i,j;

// ввод элементов матрицы а

printf("Введите элементы матрицы a: \n");

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

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

{

printf("элемент %d %d = ",i,j);

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

}

// ввод элементов матрицы b

printf("Введите элементы матрицы b: \n");

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

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

{

printf("элемент %d %d = ",i,j);

scanf("%d",&b[i][j]);

}

// поэлементное суммирование матриц а и b

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

for(j=1;j<=n;j++) s[i][j]=a[i][j]+b[i][j];

//вывод результирующей матрицы s

printf("сумма матриц:\n");

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

{

for(j=1;j<=n;j++) printf("%d ",s[i][j]);

printf("\n");

}

getch();

return 0;

}

Тестирование

Вычислим сумму матриц a+b, где

,

Задание 6

Выполните программу примера 6. На основе примера 6 напишите программу умножения матрицы на скаляр k*А. Чтобы умножить матрицу на скаляр, необходимо каждый элемент этой матрицы умножить на скаляр:

bi,j =k*ai,j; i=1,2,...,n; j=1,2,...,m,

где n, m – размеры матриц.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]