Сформировать вектор из элементов исходного, которые предшествуют наибольшему элементу. Выполнить сдвиг полученного массива - 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; }
Объяснение кода листинга программы
В этом коде выполняется следующее:
- Создается массив типа int из N элементов, заполняется случайными числами и выводится на экран.
- Находится индекс наибольшего элемента в массиве.
- Создается новый массив типа int, размером на 1 больше найденного индекса.
- В цикле, пока индекс меньше найденного, в новый массив копируются элементы из старого массива.
- Элементы нового массива выводятся на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д