Сформировать вектор из элементов исходного, которые предшествуют наибольшему элементу. Выполнить сдвиг полученного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задан вектор T(n), n<=12. сформировать вектор Y из элементов T[I], которые предшествуют наибольшему элементу вектора T. Выполнить сдвиг полученного массива на 1 позицию вправо.
Задано вектор T(n), n<=12. сформувати вектор Y з елементів T[I], що передують найбыльшому елементу вектора T. Виконати зсув отриманого масиву на 1 позицію вправо.

Решение задачи: «Сформировать вектор из элементов исходного, которые предшествуют наибольшему элементу. Выполнить сдвиг полученного массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 12
 
int main()
{
    int* T = new int[N];
    for (int x = 0; x < N; x++)
    {
        T[x] = rand() % (2 * (N-1)) - N;
        printf("%d ",T[x]);
    }
 
    printf("\n");
 
    int max = 0;
    for (int i = 0; i < N; i++)
        if (abs(T[i]) > abs(T[max])) max = i;
 
    int *Y = new int[max+1], j = 0;
    while (j < max) Y[j] = T[j++]; 
 
    for (int z = 0; z < max; z++)
        printf("%d ",Y[z]);
    printf("\n");
 
    _getch();
 
    return 0;
}

Объяснение кода листинга программы

В этом коде выполняется следующее:

  1. Создается массив типа int из N элементов, заполняется случайными числами и выводится на экран.
  2. Находится индекс наибольшего элемента в массиве.
  3. Создается новый массив типа int, размером на 1 больше найденного индекса.
  4. В цикле, пока индекс меньше найденного, в новый массив копируются элементы из старого массива.
  5. Элементы нового массива выводятся на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы