
- •Содержание работы
- •1 Элементы языка с
- •1.1 Символы
- •2 Простые типы данных
- •3 Операции над числовыми данными
- •4 Объявление переменных
- •5 Структура программы на с
- •7 Директива #define
- •9 Библиотека математических функций
- •Содержание работы
- •1 Условный оператор if
- •Пример 1 Поиск наибольшего значения
- •Пример 2 Определение принадлежности точки фигуре
- •2 Составной оператор
- •Пример 3 Проверка условия существования треугольника
- •3 Вложенный оператор
- •Пример 4 Вложенное ветвление
- •4 Оператор выбора switch
- •Содержание работы
- •1 Определение цикла
- •Пример 1 Виды циклов
- •Задание 1
- •2 Оператор цикла for
- •3 Оператор цикла while
- •4 Оператор цикла do while
- •5 Табулирование функций
- •Пример 2 Табулирование непрерывной функции
- •Пример 3 Табулирование сложной функции
- •6 Вычисление конечных сумм и произведений
- •Пример 4 Вычисление суммы
- •Пример 5 Вычисление произведения
- •7 Управляющие конструкции break, continue, return, goto
- •Содержание работы
- •1 Понятие и описание массивов
- •Пример 1 Объявление одномерного массива
- •Пример 2 Объявление двумерного массива
- •2 Одномерные массивы Пример 3 Ввод элементов одномерного массива
- •Пример 4 Нахождение суммы и среднего значения элементов массива
- •Пример 5 Нахождение наибольшего элемента массива и его номера
- •3 Двумерные массивы (матрицы)
- •Пример 6 Суммирование матриц
- •4 Символьные массивы
- •Пример 7 Описание символьного массива
- •Пример 8 Сравнение строк
- •5 Указатели и операции над указателями
- •Пример 9 Описание указателей
- •Пример 10 Операции над указателями
- •Пример 11 Сравнение указателей
- •6 Связь между массивом и указателем
- •Содержание работы
- •1 Модульное программирование
- •2 Объявление функции
- •Пример 1 Объявление функции
- •Задание 1
- •Это важно
- •2 Формальные и фактические параметры функции
- •Задание 3
- •Содержание работы
- •1 Создание класса
- •Пример 1 Объявление класса
- •Задание 1
- •Пример 2 Доступ к членам класса
- •Задание 2
- •2 Полиморфизм
- •Пример 3 Перегрузка функций
- •Задание 3
- •Содержание работы
- •1 Понятие формы. Конструктор форм Windows Forms
- •2 Элементы управления
- •3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения
- •Пример 2 Создание идентификационной формы
- •Пример 3 Изменение параметров MessageBox.Show
- •5 Анализ кода
- •6 Расчетные формы Пример 4 Создание расчетной формы
- •Пример 5 Создание простейшего меню
- •7 Создание оконных приложений на базе mfc
Пример 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 – размеры матриц.