Сдвиг массива на одну позицию вправо - C (СИ)

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

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

Задано вектор T(n), 12<=n. Сформувати вектор Y с элементов T[i], что передають самому большому элементу вектора T. Сделать сдвиг полученого масива на одну позицию вправо. p.s вектор Т должен быть сдвинут на 1 позицию вправо а он у меня сдвинут в лево
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int main()
{
int T[12], i, n, maxx, minx, M, temp;
int* a;
printf("Vvedite n <= 12, n= "), scanf("%i", &n);
while (n > 12) {
system("cls");
printf("Vvedite n <= 12, n= "), scanf("%i", &n);
}
srand(time(NULL));
printf("Vektor Y\n|");
minx = 12;
maxx = 0;
for (i = 0; i < n; i++) {
T[i] = rand() %500;
printf(" %i |", T[i]);
if (T[i] > maxx) {
maxx = T[i];
}
if (T[i] < minx) {
minx = T[i];
}
}
M = (minx + maxx) / 2;
M++;
printf("\n\n");
srand(time(NULL));
printf("Vektor T\n|");
for (i = 0; i < n; i++)
 
    temp = T[0];
    for (i = 0; i < n; i++)
        T[i] = T[i + 1];
    T[n - 1] = temp;
    for (i = 0; i < n; i++)
        printf("\ %i |", T[i]);
        if (T[i] > maxx) {
maxx = T[i];
}
if (T[i] < minx) {
minx = T[i];
}
    getch();
    return 0;
}

Решение задачи: «Сдвиг массива на одну позицию вправо»

textual
Листинг программы
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <math.h>
 
int main() {
    int T[12], i, n = 0, maxx, minx, M, temp;
    while ((n < 1) || (12 < n)) {
        //system("cls");
        printf("Vvedite n <= 12, n= "), scanf("%i", &n);
    }
    srand(time(NULL));
    printf("Vektor Y\n|");
    minx = 0;
    maxx = 0;
    for (i = 0; i < n; i++) {
        T[i] = rand() % 500;
        printf(" %i |", T[i]);
        if (T[maxx] < T[i]) {
            maxx = i;
        }
        if (T[i] < T[minx]) {
            minx = i;
        }
    }
    M = (T[minx] + T[maxx]) / 2;
    M++;
    printf("\n\n");
    srand(time(NULL));
    printf("Vektor T\n|");
    temp = T[n - 1];
    for (i = n - 1; 0 < i; --i) {
        T[i] = T[i - 1];
    }
    T[0] = temp;
    for (i = 0; i < n; ++i) {
        printf(" %i |", T[i]);
    }
    return 0;
}

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


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

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

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