ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Краткие теоретические сведения. Обработка одномерных и двумерных массивовЛабораторная работа №4 Обработка одномерных и двумерных массивов Цель работы Целью лабораторной работы является получение практических навыков в работе с числовыми массивами в языке C. Планируемые результаты обучения В результате выполнения лабораторной работы должны быть сформированы и развиты следующие профессиональные компетенции: на уровне знаний: – воспроизводить синтаксис объявления одномерного, многомерного массива как числового, так символьного; – объяснять стандартные приемы для работы с числовыми и символьными массивами. на уровне понимания: – объяснять механизмы доступа к элементам массива посредством индекса и указателя. на уровне применения: – выполнять операции над массивами; – осуществлять ввод и вывод массивов; – сравнивать массивы; – применять стандартные приемы для работы с массивами. на уровне анализа: – анализировать разработанную программу с целью выявления логических ошибок; – локализовать ошибки выполнения программы с целью их исправления; – анализировать результаты работы программы. на уровне синтеза: – использовать математические методы и вычислительные алгоритмы для решения практических задач; – проектировать структуру программы; – организовать работу в группе при совместном решении задачи; – проектировать тестирование программы; – защищать выполненную самостоятельную работу; – принимать верное решение при коллективном решении задачи. на уровне оценки: – давать оценку эффективности работы программы, основываясь на использованных структурах хранения данных и способах организации вычислений; – оценивать возможности структурных типов данных в организации данных программы. Краткие теоретические сведения Массив – это линейный тип данных или последовательность ячеек памяти одинакового типа. Массивы могут быть одномерными, двумерными и многомерными. Одномерные массивы соответствуют строке, двумерные – матрице. Одномерные массивы При объявлении массива указывают тип его элементов и в квадратных скобках размер массива. Для одномерного массива из 10 целых чисел объявление запишется в виде: int a[10]; Для одномерного массива из 5 чисел с плавающей точкой объявление запишется в виде: float a[5]; Удобно использовать при объявлении массива директиву препроцессора #define: #define SIZE 10 // определили поименованную константу, задающую размер массива void main() { int a[SIZE]; … } Для доступа к элементу массива указывают в квадратных скобках его номер. При этом следует отметить, что в языке С индексация элементов массива начинается с нуля. То есть для инициализации первого элемента массива единицей необходимо записать оператор: a[0]=1; Для работы с массивами обычно используют цикл for. Инициализировать массив можно разными способами. Если требуется можно инициализировать элементы массива сразу после объявления: int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Можно заполнить элементы массива непосредственно в программе: int a[10]; a[5] = 5; for (int i=0; i<10; i++) a[i]=0; В этом примере сначала шестому элементу массива присваивается значения пять, затем все элементы массива обнуляются. Инициализация одномерного массива пользователем запишется в виде: int a[10]; for (int i=0; i<10; i++) { printf(″Введите значение a[%d]\n″, i); scanf(″%d″, &a[i]); } В этом примере сначала элементам массива присваиваются значения введенные пользователем. Рассмотрим пример нахождения количества отрицательных элементов массива. int a[10], count; … for (int i=0; i<10; i++) if (a[i]<0) count++; …
Пример нахождения суммы отрицательных элементов массива. int a[10], sum=0; … for (int i=0; i<10; i++) if (a[i]<0) sum=sum+a[i]; …
Пример нахождения минимального элемента массива и его индекса. int a[10], min, mini; … min=a[0]; for (int i=1; i<10; i++) if (a[i]<min) { min=a[i]; mini=i; } … Другой способ нахождения минимального элемента массива и его индекса min=0; for (int i=1; i<10; i++) if (a[i]<a[min]) { min=i; } Не нашли, что искали? Воспользуйтесь поиском:
|