68977

Одновимірні та багатовимірні масиви

Лекция

Информатика, кибернетика и программирование

Відповідно до синтаксису Сі в мові існують тільки одновимірні масиви, проте елементами одновимірного масиву, у свою чергу, можуть бути масиви. Тому двовимірний масив визначається як масив масивів. Таким чином, в прикладі визначений масив Z з 13 елементів-масивів, кожний з яких...

Украинкский

2014-09-28

30 KB

0 чел.

Лекція № 4

Тема: Одновимірні та багатовимірні масиви

План

  1.  Масиви і змінні з індексами
  2.  Впорядкування одновимірних масивів
  3.  Символьні масиви

Масиви і змінні з індексами.

Математичним поняттям, яке привело до появи в мовах програмування поняття "масив", є матриця і її окремі випадки: вектор-стовбець або вектор-рядок. Елементи матриць в математиці прийнято позначати з використанням індексів. Суттєво, що всі елементи матриць або дійсні, або цілі і т.д. Така "однорідність" елементів властива і масиву, визначення якого описує тип елементів, ім'я масиву і його розмірність, тобто число індексів, необхідне для визначення конкретного елемента. Крім того, у визначенні вказується кількість значень, яка приймаються кожним індексом. Наприклад, int а[10]; визначає масив з 10 елементів а[0], а[1] ..., а[9]. float Z[13][[6]; визначає двовимірний масив, перший індекс якого приймає 13 значень від 0 до 12, другий індекс приймає 6 значень від 0 до 5. Таким чином, елементи двовимірного масиву Z можна перерахувати так:

Z[0][0],   Z[0][l],   Z[0][2],...,Z[12][5]

Відповідно до синтаксису Сі в мові існують тільки одновимірні масиви, проте елементами одновимірного масиву, у свою чергу,

можуть бути масиви. Тому двовимірний масив визначається як масив масивів. Таким чином, в прикладі визначений масив Z з 13 елементів-масивів, кожний з яких, у свою чергу, складається з 6 елементів типу float. Нумерація елементів будь-якого масиву завжди починається з 0, тобто індекс змінюється від 0 до N-1, де N - кількість значень індексу.

Обмежень на розмірність масивів, тобто на число індексів, в мові Сі теоретично немає. Стандарт мови Сі вимагає, щоб транслятор міг обробляти визначення масивів з розмірністю до 31. Проте частіше всього використовуються одновимірні і двовимірні масиви.

Впорядкування в одновимірних масивів

Необхідно, ввівши значення змінної 1 <n<=100 і значення n перших елементів масиву а[0],а[1],...,а[n-1], впорядкувати ці перші елементи масиву за збільшенням їх значень. Текст першого варіанту програми:

/* Впорядкування елементів масиву */

#include <stdio.h>

main( )

{

int n,і,j;

double а[100],b;

while(1)

{                                         

printf("\n Введіть кількість елементів n=");

scanf("%d",&n);

if (n > 1 && n <= 100) break;

printf{"Помилка! Необхідно 1<n<=100!");

}

printf("\n Введіть значення елементів " масиву:\n");

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

{

printf("а[%d]=", j+1);

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

}

for(i=0;   i<n-l;   i++)

for(j=i+l;   j<n;   j++)

if(а[i]>a[j])

{

b=a[i];

а[i]=a[j];

а[j]=b;

}

printf("\n Впорядкований масив: \n");

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

printf("а[%d]=%f\n",j +1,a[j]);

}

При заповненні масиву і при друку результатів його впорядкування індексація елементів виконана від 1 до n, як це звичайно прийнято в математиці. В програмі на Сі це відповідає зміні індексу від 0 до (n-1). В програмі реалізований алгоритм прямого впорядкування  кожний елемент а[i], починаючи з а[0] і кінчаючи а[n-2], порівнюється зі всіма подальшими, і на місце а[i] вибирається мінімальний. Таким чином, а[0] приймає мінімальне значення, а[1] - мінімальне з тих, що залишилися і т.д. Недолік цього алгоритму полягає в тому, що в ньому фіксоване число порівнянь, не залежне від початкового розташування значень елементів. Навіть для вже впорядкованого масиву доведеться виконати ту ж саму кількість ітерацій (n-1)*n/2, оскільки умови закінчення циклів не пов'язані з властивостями, тобто з розміщенням елементів масиву.


 

А также другие работы, которые могут Вас заинтересовать

43097. Расчет усилителя мощности звуковой частоты, состоящая из регулятора громкости, тембра и ИМС 789 KB
  Допустимый уровень нелинейных искажений: не более 1 9 Предусмотреть регулировку громкости и тембра по ВЧ и НЧ плавно потенциометром. Выбор и обоснование структурной схемы Вх Вых РГ регулятор громкости РТ регулятор тембра T7283P усилитель мощности. Регулятор тембра является обязательным узлом современного высококачественного устройства звуковоспроизведения...
43099. Численный расчет нестационарного теплового состояния лопатки авиационного ГТД 1.79 MB
  Одним из основных и наиболее эффективных способов улучшения показателей современных ГТД является повышение температуры газа перед турбиной. При этом надежность работы лопаток при высокой температуре газа обеспечивается их охлаждением за счет использования хладоресурса части сжатого в компрессоре воздуха. При этом в двухконтурных двигателях возможно существенное увеличение этого хладоресурса охладителя за счет установки дополнительного воздухо-воздушного теплообменника во внешнем контуре.
43100. Построить стационарные характеристики (АЧХ и ФЧХ) и переходную характеристику цепи 566.5 KB
  Для нахождения стационарных и переходных характеристик цепи целесообразно рассчитать операторную передаточную функцию цепи К(р), т. е. передаточную функцию в зависимости от обобщенной частоты
43101. Проектирование самолёта транспортного класса 3.89 MB
  Задача проектирования состоит в разработке конструкции нового самолета и его составляющих элементов. На начальной стадии проектирования была произведена разработка общего вида самолета. Для этого проведено ознакомление с основными тактико-техническими требованиями (ТТТ), предъявленными к самолету, летно-техническими характеристиками (ЛТХ), схемами, основными параметрами, общим устройством самолетов и агрегатов, силовой установкой (СУ), увязкой основных элементов агрегатов самолета, правилами выполнения чертежей общего вида самолета и общего устройства его агрегатов.
43102. Проект системы кондиционирования офиса 961.5 KB
  Период года теплый холодный Параметры А: температура воздуха удельная энтальпия скорость ветра Параметры Б: температура воздуха удельная энтальпия скорость ветра Экстремальные температуры Таблица 1. Оптимальные и допустимые нормы температуры относительной влажности и скорости движения воздуха по ГОСТ 3049496 Период года Температура воздуха Относительная влажность Скорость движения оптимальная допустимая оптимальная допустимая не более...
43103. Розробка программи реалізації оптимізації виробництва 312.5 KB
  Симплексметод один з основних методів розвязання задач оптимізації. Крім того на основі цього методу будуються і інші підходи методів оптимізації такі як: модифікований симплексметод двоїстий симплекс метод та інші. В даному курсовому проекті розвязання та перевірка симплексметоду буде розглянута на прикладі задачи максимізації виробництва продукції.4 Формулювання алгоритму методу Симплексметод розвязання задачі лінійного програмування заснований на переході від одного опорного плану до іншого при якому значення цільової функції...
43104. Расчёт электропривода системы Г-Д 1.29 MB
  Номер варианта Закон изменения момента сопротивления рабочей машины Мсм Нм Момент инерции рабочей машины Jм в долях от момента инерции двигателя кгм2 Тип двигателя и способ его питания 5 250060  40 Постоянного тока от тиристорного преобразователя Примечание: Характер момента сопротивления реактивный. Предварительная мощность двигателя Предварительная мощность двигателя рассчитывается по нагрузочной диаграмме и тахограмме рабочей машины. При этом можно использовать формулу: кВт где коэффициенты учитывающие...
43105. Разработка печатного узла 2.69 MB
  Монтаж на поверхность это крепление и монтаж компонентов специальной конструкции непосредственно на поверхность печатной платы. Взамен их для присоединения к плате используются металлизированные торцы корпусов компонентов или настолько миниатюрные выводы что они в незначительной мере увеличивают площадь платы для монтажа такого компонента. В общем виде проектирование конструкции печатного узла и технологии его изготовления в данной курсовой работе состоит из следующих глав: анализ технического задания; разработка конструкции узла;...