Главная страница
Навигация по странице:

  • Многомерный массив

  • Одномерный

  • Двумерный массив

  • Задание к уроку 1. Сумма чисел

  • Массивы. ПЗ №6 Массивы данных. Одномерные и многомерные массивы. Практическая работа 6 Массивы данных. Одномерные и многомерные массивы


    Скачать 47.5 Kb.
    НазваниеПрактическая работа 6 Массивы данных. Одномерные и многомерные массивы
    АнкорМассивы
    Дата29.09.2022
    Размер47.5 Kb.
    Формат файлаdoc
    Имя файлаПЗ №6 Массивы данных. Одномерные и многомерные массивы.doc
    ТипПрактическая работа
    #704486

    Практическая работа №6

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

    Массивы позволяют хранить большой объем информации в одном месте. В языке C++ можно найти несколько основных типов массивов. 

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


    Чтобы создать массив необходимо указать тип данных, прописать название и поставить квадратные скобки. Это очень схоже с созданием обычных переменных, но здесь после названию идут ещё квадратные скобки.
    В массивах отсчет начинается с 0, поэтому первый элемент по индексу будет равен 0, второй - 1 и так далее.
    Примеры создания массива:

    char stroka[2];// Создание пустого массива

    int[] numbers;// Будет считаться ошибкой
    int nums[4];

    nums[0]=1;// Добавление элементов в массив из 4 элементов
    int nums2[]={1,2,3,5};// Присвоение всех значений сразу

    Работать с элементами массива можно точно как с переменными. Мы можем их выводить или же устанавливать для них новые значения.

    Многомерный массив


    Многомерный массив - это массив, в котором каждый элемент является другим массивом. На практике очень редко используются массивы с более чем третим уровнем вложенности. То есть массивы, в которых все элементы являются другими массивами и в котором все элементы также другие массивы встречаются очень и очень редко на практике.
    Мы не будем изучать подобные массивы, так как принцип их построения точно такой же как при работе с двумерными массивами.
    Для создания двумерных массивов необходимо использовать двойные квадратные скобки после названия. Выглядит такой массив как матрица, а записывается следующим образом:

    int x[3][3]={{0,34,2},{3,4,5}};

    cout << x[0][1];// Выведет 34
    // Можно их сразу не присваивать

    char symbols[5][2];

    symbols [0][1]='A';

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

    x[0][1]=1;// Вместо 34 теперь будет 1
    Одномерныймассив

    #include
    usingnamespace std;
    intmain(){

    int arr[3]={23,34,12};

    for(int i =0; i <3; i++)

    cin >> arr[i];

    for(int i =0; i <3; i++)

    cout <<" "<< arr[i];

    cin.get();

    return0;

    }
    Двумерный массив

    #include
    usingnamespace std;
    intmain(){

    int arr[3][2]={{2,5},{1,2},{5,7}};

    for(int i =0; i <3; i++){

    for(int j =0; j <2; j++){

    cout <<" "<< arr[i][j];

    }

    cout << endl;

    }

    cin.get();

    return0;

    }
    Задание к уроку

    1. Сумма чисел

    Найдите сумму отрицательных элементов массива

    intmain(){

    int[] a ={-24,34,-4,4,5,-1};

    int sum =0;

    for(int i =0; i <=6; i++){

    if(a[i]<0)

    sum += a[i];

    }

    if(sum ==0)

    cout <<"No numbers < 0";

    else

    cout <<"sum = "<< sum;

    return0;

    }
    2. Наибольшее значение

    Найдите наибольший элемент массива

    intmain(){

    int[] a ={-24,34,-4,4,5,-1};

    int max =0;

    for(int i =0; i <6; i++){

    if(a[i]> max)

    max = a[i];

    }

    cout <<"max: "<< max << endl;

    return0;

    }
    3. Одинаковые числа в массивах

    Дано два массива чисел, необходимо вывести на экран все числа, которые одновременно присутствуют в обеих массивах. Вот оба массива:

    int array_1[] = {1, 2, 3, 5, 7, 9, 10};

    int array_2[] = {1, 4, 3, 5, 8, 9, 0};
    Нужно сравнить каждое значение 1 массива с каждым значением 2 массива. Т.е. сначала берем первый элемент массива 1 и сравниваем его со значениями массива 2. Если во втором массиве находится такое же число, то помещаем его в результирующий массив данных для последующего вывода на экран. Берем второй элемент массива 1 и сравниваем его со значениями из массива 2… И т.д. пока не будут пройдены все элементы массива 1.

    using namespace std;
    int main() {

    const int dimension = 7;

    int increment = 0;

    int array_1[] = {1, 2, 3, 5, 7, 9, 10};

    int array_2[] = {1, 4, 3, 5, 8, 9, 0};

    /* объявляем новый массив для результатов */

    int result_arr[dimension];

    for (int i = 0; i < dimension; i++) {

    for (int j = 0; j < dimension; j++)

    if (array_1[i] == array_2[j]) {

    // если значения совпали, то помещаем данное число

    // врезультирующиймассив result_arr

    result_arr[increment] = array_1[i];

    increment++;

    }

    }

    // выводимрезультаты

    for (int i = 0; i < increment; i++) {

    cout << result_arr[i] << endl;

    }

    cin.get();

    return 0;

    }
    4. Минимальный элемент

    Создайте двумерный массив и найдите минимальный элемент среди всех чисел в массиве. Массив ниже:

    { { 0, 34, -2 }, { 3, -4, 5 } }

    usingnamespace std;
    intmain(){

    int numbers[2][3]={{0,34,-2},{3,-4,5}};

    int min_num = numbers[0][0];

    for(shortint i =0; i <2; i++){

    for(shortint j =0; j <3; j++){

    if(numbers[i][j]< min_num){

    min_num = numbers[i][j];

    }

    }

    }

    cout <<"Minimum number is "<< min_num;

    cin.get();

    return0;

    }


    написать администратору сайта