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

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

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

Задано вектор T(n), 12<=n. Сформувати вектор Y с элементов T[i], что передають самому большому элементу вектора T. Сделать сдвиг полученого масива на одну позицию вправо. p.s вектор Т должен быть сдвинут на 1 позицию вправо а он у меня сдвинут в лево
Листинг программы
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <ctime>
  4. #include <conio.h>
  5. #include <stdio.h>
  6. #include <math.h>
  7. #include <conio.h>
  8. int main()
  9. {
  10. int T[12], i, n, maxx, minx, M, temp;
  11. int* a;
  12. printf("Vvedite n <= 12, n= "), scanf("%i", &n);
  13. while (n > 12) {
  14. system("cls");
  15. printf("Vvedite n <= 12, n= "), scanf("%i", &n);
  16. }
  17. srand(time(NULL));
  18. printf("Vektor Y\n|");
  19. minx = 12;
  20. maxx = 0;
  21. for (i = 0; i < n; i++) {
  22. T[i] = rand() %500;
  23. printf(" %i |", T[i]);
  24. if (T[i] > maxx) {
  25. maxx = T[i];
  26. }
  27. if (T[i] < minx) {
  28. minx = T[i];
  29. }
  30. }
  31. M = (minx + maxx) / 2;
  32. M++;
  33. printf("\n\n");
  34. srand(time(NULL));
  35. printf("Vektor T\n|");
  36. for (i = 0; i < n; i++)
  37. temp = T[0];
  38. for (i = 0; i < n; i++)
  39. T[i] = T[i + 1];
  40. T[n - 1] = temp;
  41. for (i = 0; i < n; i++)
  42. printf("\ %i |", T[i]);
  43. if (T[i] > maxx) {
  44. maxx = T[i];
  45. }
  46. if (T[i] < minx) {
  47. minx = T[i];
  48. }
  49. getch();
  50. return 0;
  51. }

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

textual
Листинг программы
  1. #include <stdlib.h>
  2. #include <time.h>
  3. #include <stdio.h>
  4. #include <math.h>
  5.  
  6. int main() {
  7.     int T[12], i, n = 0, maxx, minx, M, temp;
  8.     while ((n < 1) || (12 < n)) {
  9.         //system("cls");
  10.         printf("Vvedite n <= 12, n= "), scanf("%i", &n);
  11.     }
  12.     srand(time(NULL));
  13.     printf("Vektor Y\n|");
  14.     minx = 0;
  15.     maxx = 0;
  16.     for (i = 0; i < n; i++) {
  17.         T[i] = rand() % 500;
  18.         printf(" %i |", T[i]);
  19.         if (T[maxx] < T[i]) {
  20.             maxx = i;
  21.         }
  22.         if (T[i] < T[minx]) {
  23.             minx = i;
  24.         }
  25.     }
  26.     M = (T[minx] + T[maxx]) / 2;
  27.     M++;
  28.     printf("\n\n");
  29.     srand(time(NULL));
  30.     printf("Vektor T\n|");
  31.     temp = T[n - 1];
  32.     for (i = n - 1; 0 < i; --i) {
  33.         T[i] = T[i - 1];
  34.     }
  35.     T[0] = temp;
  36.     for (i = 0; i < n; ++i) {
  37.         printf(" %i |", T[i]);
  38.     }
  39.     return 0;
  40. }

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


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

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

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы