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

Резюме урока:

  • научились основным действия при работе с массивами: объявление массива из нескольких элементов, присвоение конкретному элементу некоторого значение.

  • попрактиковались выполнять программу в уме (на листочке)

Задание для практической работы:

  • Выполнить задание, которое описано в уроке. Разобраться в нем, особенно если у вас не сразу получился правильный ответ.

  • Задан целочисленный массив из N элементов. N<=30. Пользователь задает некоторое целое число. Необходимо посчитать, количество элементов массива меньших по модулю этого числа

  • Написать программу, которой на вход подается три массива оценок: сначала по русскому языку, потом по математике и наконец по физике. Причем, количество их заранее не известно, но не превышает 20 штук, по любому из предметов. По разным предметам может быть введено различное количество оценок. Ввод оценок производится пользователем с клавиатуры, причем сначала он вводит одну из цифр 1, 2, 3 которая определяет, по какому предмету эта оценка. (1 -русский язык, 2 - математика и 3 - физика)

Ввод данных заканчивает, когда пользователь введет цифру 0.

Например:

1 5

1 4

2 3

1 5

3 4

0

Такой набор исходных данных означает, что ученик получил

по русскому языку 5,4,5

по математике 3

по физике 4

Программа, должна вывести на экран все оценки ученика по каждому из предметов в формате:

rus: 5 4 5

math: 3

fiz: 4

Посчитать средний балл по каждому из предметов. Посчитать количество двоек по каждому из предметов, если их нет, то вывести 0. Посчитать средний балл по всем оценкам. Посчитать количество пятерок, которые получены по всем предметам.

Занятие 12. Простейшие алгоритмы для работы с одномерными массивами.

Добрый день друзья. Продолжаем изучать одномерные массивы. Сегодня у нас важная тема. Изучим основные алгоритмы работы с массивами: поиск в массиве и его сортировка.

Почему я говорю, что этот урок важный? Просто обработка массивов, наряду с работой со строками, это одна из самых типичных задач в программировании. Ни для кого не секрет, компьютеры появились для решения вычислительных задач математики. А вычислительные задачи, обычно связаны с большим объемом однотипных данных, которые где хранятся? Ага, правильно. Массивы.

Итак, не будем тянуть быка за хвост, ухватимся сразу за рога. Начнем с самого простого.

Поиск минимального элемента в массиве.

Рис.1 Одномерный массив

Поставим задачку. Пускай имеется массив из целых чисел. Необходимо среди всех элементов массива, найти элемент с минимальным значением.

Это задачка даже не на одну трубку. Сначала взгляните на картинку, и найдите в этом столбике минимальный элемент.

А теперь стоп. Задумайтесь на секундочку, как вы это сделали? Скорее всего, вы пробежались по столбику глазами, и выявили там самое меньшее число. Аналогичную процедуру должна выполнить и наша программа.

Первым делом следует подумать, где будет храниться минимальное значение. Для него необходима отдельная переменная. Назовем еёmin. Сохраним в неё значение первого элемента массива, чтобы нам было с чем сравнивать. Дальше нужно пройтись по массиву. Это не сложно, организуем для этого цикл. В работе с массивами в большинстве случаев используется цикл for. Так как там сразу же есть счетчик, который меняется каждой итерации. Теперь основная часть алгоритма. Нам нужно последовательно сравнивать элементы массива с минимальным, и если окажется так, что элемент массива меньше минимального, то следует сохранить это значение вместо него. Вот, в принципе, и весь алгоритм.

Теперь запишем это все в виде программы.

Листинг 12.1

#include <stdio.h>

int main(){

int min, arr[11]={5,14,7,4,11,2,6,12,8,7,3};

min = arr[0];

for (int i=1; i<11; i++){

if (arr[i]<min)

min = arr[i];

}

printf("%d\n", min);

return(0);

}

Обратите внимание, что в данном случае мы задали элементы массива при его объявлении. Запомните этот способ, он тоже иногда бывает полезен. Кстати, если бы мы объявили не все элементы, а лишь часть из них, то все остальные, автоматически заполнились бы нулями. Можете это проверить самостоятельно.

В дополнение к словесному описанию проиллюстрируем картинкой работу нашей программы.

Рис. 2 Иллюстрация поиска минимума в одномерном массиве.

Еще раз посмотрите приведенный выше код, вам должно быть в нем все понятно. Аналогично можно найти максимальный элемент в массиве.