69741

Ініціалізація масивів

Домашняя работа

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

Якщо у визначенні масиву явно вказаний його розмір, то кількість початкових значень не може бути більше кількості елементів в масиві. Якщо кількість початкових значень менше ніж оголошена довжина масиву, то початкові значення отримають тільки перші елементи масиву...

Украинкский

2014-10-09

24.5 KB

0 чел.

Самостійне вивчення

Тема 5: Ініціалізація масивів.

При визначенні масивів можлива їх ініціалізація, тобто присвоювання початкових значень їх елементам.   По суті   (точніше   по   результату), ініціалізація - це об'єднання визначення об'єкту з одночасним присвоюванням йому конкретного значення. Використання ініціалізації  дозволяє змінити формат визначення масиву. Наприклад, можна явно не вказувати кількість елементів одновимірного масиву, а тільки перерахувати їх початкові значення в списку ініціалізації:

double d[  ]={1.0,   2.0,   3.0,   4.0,   5.0};

В даному прикладі довжину масиву компілятор обчислює по кількості початкових значень, перерахованих у фігурних дужках. Після такого визначення елемент d[0] рівний 1.0, d[l] рівний 2.0 і т.д. до d[4], який рівний 5.0. Якщо у визначенні масиву явно вказаний його розмір, то кількість початкових значень не може бути більше кількості елементів в масиві. Якщо кількість початкових значень менше ніж оголошена довжина масиву, то початкові значення отримають тільки перші елементи масиву (з меншими значеннями індексу):

int M[8]={8,4,2};

В даному прикладі визначені значення тільки змінних М[0], М[1] і М[2], рівні відповідно 8, 4 і 2. Елементи М[3]..., М[7] не ініціалізувалися. Правила ініціалізації багатовимірних масивів відповідають визначенню багатовимірного масиву як одновимірного, елементами якого є масиви, розмірність яких на одиницю менше ніж у початкового масиву. Одновимірний масив ініціалізувався вкладеним у фігурні дужки списком початкових значень. В свою чергу, початкове значення, якщо воно відноситься до масиву, також є заключений у фігурні дужки список початкових значень. Наприклад, присвоїти початкові значення дійсним елементам двовимірного масиву А, що складається з трьох "рядків" і двох "стовпців", можна таким чином: double А[3][2]={{10,20},   {30,40}

 {50,60}};

Цей запис еквівалентний послідовності операторів привласнення: А[0][0]=10; А[0][1]=20;     А[1][0]=30; А[1][1]=40; А[2][0]=50; А[2][1]=60;. Той же результат можна отримати з одним списком ініціалізації:

double A[3][2]={10,20,30,40,50,60};

За допомогою ініціалізації можна присвоювати значення не всім елементам багатовимірного масиву. Наприклад, щоб ініціалізувати тільки елементи першого стовпця матриці, її можна описати так:

double  Z[4][6]={{1},{2},{3},{4}};

Наступний опис формує "трикутну матрицю" в цілочисельному масиві з 5 рядків і 4 стовпців: int x[5][4]={{1},{2,3}, {4,5,6}, {7,8,9,10}   };

В даному прикладі останній п'ятий рядок х[4] залишається незаповнений. Перші три рядки заповнено не до кінця.


 

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

28551. Режим шифрования с обратной связью по выходу (OFB) 52.55 KB
  Разница заключается в том что выход алгоритма в режиме OFB подается обратно в регистр тогда как в режиме CFB в регистр подается результат применения операции XOR к незашифрованному блоку и результату алгоритма см. Шифрование в режиме OFB Основное преимущество режима OFB состоит в том что если при передаче произошла ошибка то она не распространяется на следующие зашифрованные блоки и тем самым сохраняется возможность дешифрования последующих блоков. Дешифрование в режиме OFB Недостаток режима OFB заключается в том что он более уязвим к...
28552. Симметричные методы шифрования DES 63.46 KB
  Функция перестановки одна и та же для каждого раунда но подключи Ki для каждого раунда получаются разные вследствие повторяющегося сдвига битов ключа. Последовательность преобразований отдельного раунда Теперь рассмотрим последовательность преобразований используемую на каждом раунде. Создание подключей Ключ для отдельного раунда Ki состоит из 48 битов. На каждом раунде Ci и Di независимо циклически сдвигаются влево на 1 или 2 бита в зависимости от номера раунда.
28553. Примеры современных шифров проблема последнего блока DES 26.44 KB
  Альтернативой DES можно считать тройной DES IDEA а также алгоритм Rijndael принятый в качестве нового стандарта на алгоритмы симметричного шифрования. Также без ответа пока остается вопрос возможен ли криптоанализ с использованием существующих характеристик алгоритма DES. Алгоритм тройной DES В настоящее время основным недостатком DES считается маленькая длина ключа поэтому уже давно начали разрабатываться различные альтернативы этому алгоритму шифрования.
28554. Распределение ключей. Использование базовых ключей 13.15 KB
  Он заключается в доставке абоненту сети связи не полного комплекта ключей для связи со всеми другими абонентами а некоторой универсальной заготовки уникальной для каждого абонента по которой он может вычислить необходимый ему ключ. Пусть в сети связи действуют N абонентов занумеруем их от 0 до N1 и поставим каждому абоненту уникальный открытый идентификатор Yi из некоторого множества Y открытый в смысле общеизвестный. Генерация ключей для абонентов сети связи заключается в выработке N секретных ключей Xi из некоторого множества X....
28555. Использование маркантов или производных ключей 15.1 KB
  Заключается в использовании для шифрования не непосредственно ключей хранимых у абонентов а некоторых производных ключей из них получаемых. Заключается в использовании вместо ключа K двоичного вектора S полученного побитным суммированием K и случайного двоичного вектора M называемого маркантом при этом маркант передается в открытом виде отправителем получателю. Действительно использование одного и того же ключа но разных маркантов не снижает стойкости шифра. Однако этот метод обладает одним недостатком восстановление одного...
28557. Несимметричные системы шифрования и их построение 23.7 KB
  Эти системы характеризуются тем что для шифрования и для расшифрования используются разные ключи связанные между собой некоторой зависимостью. Один из ключей например ключ шифрования может быть сделан общедоступным и в этом случае проблема получения общего секретного ключа для связи отпадает. Поскольку в большинстве случаев один ключ из пары делается общедоступным такие системы получили также название криптосистем с открытым ключом. Первый ключ не является секретным и может быть опубликован для использования всеми пользователями...
28558. Новое направление в криптографии, постулаты У. Диффи и М. Хеллмана 23.14 KB
  Это означает что если А является примитивным корнем простого числа Q тогда числа A mod Q A2 mod AQ1 mod Q являются различными и состоят из целых от 1 до Q – 1 с некоторыми перестановками. В этом случае для любого целого B Q и примитивного корня A простого числа Q можно найти единственную экспоненту Х такую что Y =AX mod Q где 0≤ X ≤ Q1. Экспонента X называется дискретным логарифмом или индексом Y по основанию A mod Q. Общеизвестные элементы Q Простое число A A Q и A является примитивным корнем Q Создание...
28559. Описание системы с открытыми ключами 14.42 KB
  Альтернативным вариантом может быть обработка регистрации системой имеющей древовидную структуру: ЦО выдает сертификаты местным представителям которые в дальнейшем действуют в качестве посредников в процессе регистрации пользователя на более низких уровнях иерархии. Сертификаты могут распространяться ЦО пользователями или использоваться в иерархической системе. Поэтому если сертификаты хранятся у пользователей а не выдаются каждый раз ЦО при их использовании ЦО должен время от времени публиковать списки аннулированных сертификатов....