Les tableaux en C ++ (vidéo)




массивы в c++, массивы в с++, одномерный массив

Массивы чрезвычайно важная тема в C++. В программах они используются очень часто и разобраться в этой теме необходимо досконально. Сразу вас обрадуюпонять и научиться применять массивы достаточно просто даже начинающему.

si, зачем же нужны массивы и что они из себя представляют? К настоящему моменту вы уже хорошо знаете, что данные программы хранятся в объявленных нами переменных определённого типа (int, double, char… ). Но бывает так, что программе необходимо хранить сотни (а то и больше) переменных однотипных данных, а также необходимо с ними работать – присваивать значения, изменять их и т.д. par exemple, надо хранить порядковые номера строк. accepter – любому станет страшно от мысли, что надо создать пятьсот переменных типа int, каждой дать уникальное имя и присвоить значение от 1-го до 500-та. (мне уже страшно :) В таком случае, массивы нас просто спасут.

Отметим основное и перейдем к практическому примеру:

  • массив в С++ – это совокупность определенного количества однотипных переменных, имеющих одно имя. par exemple, int tableau [3];. Эта запись означает, что мы объявили массив с именем tableau , qui содержит в себе 3 переменные типа int;
  • переменные массива называют элементами ;
  • каждый элемент имеет свой уникальный индекс – свой порядковый номер. Используя индекс мы можем обращаться к конкретному элементу. ВАЖНО – индексация элементов массива начинается с 0. Так в массиве int tableau [3] первый элемент имеет индекс 0, а последний – 2. Чтобы обратиться, par exemple, к нулевому элементу массива и изменить его значение, надо указать имя массива и в квадратных скобках указать индекс элементаtableau [0] = 33.

Prenons l'exemple:

En ligne 12 мы определяем целочисленную константу TAILLE, которая будет хранить размер массива (определённое нами, количество его элементов). En ligne 13 объявляем массив: указываем тип данных, которые будут храниться в ячейках массива, даем имя и указываем размер в квадратных скобках . important, что в квадратные скобки мы можем записывать только целые константные значения. Надо либо сразу вписать целое число в квадратные скобки при объявлении массива (int firstArray[100];), либо определить целочисленную константу до объявления массива и ввести в квадратные скобки имя этой константы (dans cet exemple,). Второй способ использовать предпочтительней, если в ходе программы вам придется несколько раз обращаться к массиву через цикл. La raison en est, что когда мы объявляем цикл, в нём можно указать условие изменения счетчика до значения TAILLE. Вот представьте, что нам необходимо изменить размер массива с 10 элементов на 200. Dans ce cas,, нам остаётся всего на всего изменить значение целочисленной константы, и таким образом у нас автоматически подставятся новые значения размера и в массив, и во все циклы программы. Можете попробовать в нашем примере внести любую другую цифру в константу TAILLE. И вы увидите, что программа будет прекрасно работать – создаст массив на столько элементов, на сколько вы укажете, внесет данные и отобразит их на экране.

lignes 15 19 определяем cycle pour. Его счетчик je будет служить индексом элементов массива. В самом начале, он равен 0 и с каждым шагом будет увеличиваться на единицу до тех пор, пока не станет равным TAILLE количеству элементов массива. S'il vous plaît noter, в одном цикле мы и присваиваем различные значения элементам массива и в следующей строке обращаемся к ним, чтобы вывести данные, которые они хранят, l'écran.

Запускаем программу и видим результат:

массивы в c++, массивы в с++, одномерный массив

Присвоить значение элементам массива можно разными способами – инициализировать его при создании либо с помощью цикла. Если размер массива большой, есть прекрасная возможность использовать цикл pour ou tandis que для инициализации его элементов. Так мы сделали в нашем примере. Можно заполнить массив случайными числамиоб этом у нас есть отдельная статья.

А если массив совсем небольшой, к примеру на 5 élément, инициализировать его можно сразу при объявлении:

массивы в c++, массивы в с++, одномерный массив

Так элементу с индексом 0 – firstArray[0] – будет присвоено значение 11, а последнему элементу массива firstArray[4] – значение 15. Есть такая фишка – вы можете pas указывать размер массива в квадратных скобках и сделать такую запись:

массивы в c++, массивы в с++, одномерный массив

Предыдущая запись эквивалентна этой. Только во втором случае компилятор автоматически вычислит размер массива, по количеству данных в фигурных скобках.

Так же при начальной инициализации элементов массива, когда массив необходимо очистить от «мусора» (остаточных данных других программ в памяти) лучше сразу присвоить всем элементам значение 0. Это выглядит так:

массивы в c++, массивы в с++, одномерный массив

Следует запомнить, что такая инициализация возможна только для заполнения нулями. Если необходимо заполнить элементы массива какими-либо другими числами, лучше применять цикл. В C++11 (стандарт кодирования) при использовании списковой инициализации (инициализации с фигурными скобками) разрешается даже отбросить знак = .

массивы в c++, массивы в с++, одномерный массив

Хочется показать еще один прием инициализации при создании массива. par exemple, для массива из 30-ти элементов нам надо внести значения 33 et 44 только в ячейки с индексом 0 et 1 respectivement, а остальные заполнить нулями. Тогда делаем так:

массивы в c++, массивы в с++, одномерный массив

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

Организовать заполнение массива можно и при помощи оператора gin:

Чтобы присвоить или изменить значение конкретного элемента, надо обратиться к нему, используя его индекс. par exemple, все значения массива из 500-та элементов нас устраивают, но необходимо изменить значение лишь одного. Тогда мы обращаемся к нему по его индексу : firstArray[255] = 7;

С этим разобрались, теперь давайте посмотрим, каким же образом массив располагается в оперативной памяти. Массив типа int из пяти элементов займет 20 байт памяти – 4 octet (int) * 5 (количество элементов) – и эти данные будут располагаться в памяти последовательно, как показано на рисунке:

массивы в c++, массивы в с++, одномерный массив
массив int из пяти элементов в оперативной памяти

Подведем итог и отметим всё самое важное о массивах:

  • синтаксис объявления массива :

тип_Данных_Массива имя_Массива [taille];

  • переменные массива называются элементами, а каждый элемент имеет свой порядковый номер – индекс.
  • нумерация индексов элементов массива начинается с нуля!!!
  • инициализировать массив можно только при его созданииint firstArray[3] = {1, 2, 3}; Выполнять инициализацию позже уже не допускается: firstArray[3] = {1, 2, 3}; Если массив не был инициализирован в начале, можно присвоить значения его элементам, используя циклы или просто обращаясь к необходимому элементу через его индекс.
  • массив может быть одномернымтаким, как рассмотрен в этом примере, и многомернымдвумерным, трехмерным… (их мы рассмотрим в одной из наших следующих статей).

Не забывайте о необходимости практиковаться в решении задачtâches: Les tableaux en C ++. Хотите узнать больше о массивах в C++ (в том числе о символьных массивах и строках)? Посмотрите этот видео-урок:

Bulletin de nouvelles leçons sur la programmation:

date
page
Les tableaux en C ++. Одномерные массивы в С++.
évaluation
51star1star1star1star1star

17 réflexions sur "Les tableaux en C ++ (vidéo)

  1. У меня вопрос, вот если к примеру я xочу задать в программе свой вопрос, то как сделать, чтобы по ключевым словам выполнялось определенное действие ?

    par exemple:

    При вводе в программенайти периметр”, то при переборе предложения, программа наxодила словопериметри переxодила в строки с выражением периметра, а если ввести словосочетаниенайти площадь”, то переxодила в строки с выражением площади ?

    Часа 4 искал в инете что-то подобное, но так и не нашел, а перебирать по одной букве, так код программы получается ОЧ большой, ну и перестановка словнайти периметр” ou “вычесть периметруже приxодится писать еще больше операторов if.

    1. Языки C/C++ являются языками не очень высокого уровня (в сравнении с Python или даже Java, par exemple). И меньше всего в них уделено внимания именно обработке (анализу) текстовой информации. Это куда лучше делается на других языках: Perl или тот же Python.

      fondamentalement, вам действительно придётся анализировать последовательно по одной букведа ещё и учитывая, que русские буквы представлены как wchar_t, à savoir. не однобайтные

      Некоторую помощь в C++ вам может оказать тип string, type:

  2. Пытался решить такую задачку:

    В одномерном массиве из N элементов найти и вывести на экран индексы двух соседних элементов, разница между которыми по модулю максимальна. Если таких пар несколько, вывести первую”.

    Я ни хрена не понял. Каких-таких соседних элементов? Что за разница по модулю? Помогите, выжпрограммисты!

Laisser un commentaire

Placez le code dans les balises: <pre class="lang:c ++ décodage:true ">VOTRE CODE</pré>