В чем ошибку,почему программа не работает - C (СИ)
Формулировка задачи:
нужно создать массив,длинной n,n-задать с клавиатуры и сдвинуть его на k элементов в права
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int step, temp, vect_size, m_min = 5, m_max = 100;
printf("\n Mas size=");
scanf("%d", &vect_size);
printf("\n k=");
scanf("%d", &step);
srand(time(NULL));
int mas[vect_size+step];
printf("Initial vector:\n");
for (int i = 0; i < vect_size; i++)
{
mas[i]=m_min-1 + rand() % m_max+1 ;
printf("%d ",mas[i]);
};
for (int j = 0; j<step; j++)
{
temp = mas[vect_size-1];
for (int i = vect_size-1; i>0; i--)
{
mas[i]=mas[i-1];
}
mas[0]=temp;
};
printf("\nRezult vector:\n");
for (int i=0; i<vect_size; i++)
printf("%d ",mas[i]);
system("pause");
return 0;
}
Решение задачи: «В чем ошибку,почему программа не работает»
textual
Листинг программы
mas = (int *) malloc(vect_size * sizeof(int)); // + step не нужен
Объяснение кода листинга программы
mas
- переменная типа int*, которая будет хранить адрес первого элемента массива.vect_size
- переменная типа int, которая содержит размер массива.sizeof(int)
- операция, которая возвращает размер памяти, занимаемый типом данных int, в данном случае 4 байта.malloc
- функция, которая выделяет память под массив int размером vect_size.step
- переменная типа int, которая не используется в данном коде и должна быть удалена или закомментирована.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д