Га
Галина

Помогите найти ошибку в программе

помогите решить программу на СИ
Дан одномерный массив a[]={3,7,1,5,3} его элементы необходимо сдвинуть циклически влево на k позиций.
пример:
k=1
a[]={7,1,5,3,3}
#include
#include
#include
void main()
{
int a[]={3,7,1,5,9};
int i,j,k,b;
printf("vvedite cislo\n");
scanf("%i", k);
// циклический сдвиг влево k раз
for(j=k;j=0;j--){
a=a[i+1];
b=a;
}
printf("%i", a);
getch();
}

вроде правильно написал, но всё равно есть ошибка, выручите

ВП
Виталий Пахомов

for(j=k;j=0;j--)
на втором месте должно быть условие

Алексей
Алексей

На СИ никогда не писал, но, по-моему, так правильнее:
for(m="длина массива"-1;m>=0;m--){
n=m-k;
if(n<0){n="длина массива"+n;}
b[n]=a[m];
}

P.S. "i" как счетчик цикла в Ответах лучше не использовать

ОМ
Оксана Мерзликина

#include
#include
#include
#define N 5
void main()
{
int a[]={3,7,1,5,9};
int i,j,k,b, c;
printf("vvedite cislo\n");
scanf("%d", &k); //передавать адрес!! ! читать %d а не %i
// циклический сдвиг влево k раз
for(i=k;i!=0;i--){//пока i не равно нулю. - условие продолжения цикла (а не окончания)
//сдвиг влево на одну позицию k раз
b=a[0];
for(j=N-1; j!=0;j--){
c=b;
b=a[j];
a[j]=c;
}
}
//printf("%i", a); большое заблуждение
for(i=0;i!=k;i++)
printf("%d", a);
getch();
}

Ев
Евгений

#include
#include
#include

int main(int argc, char *argv[])
{
int k;
int a[] = {3, 7, 1, 5, 9};
printf("Enter the number:\n");

scanf("%d", &k);
if (k < 0)
k = -k;
k = k % (sizeof(a)/sizeof(*a));

{
void *tmp = malloc(k*sizeof(*a));
memcpy(tmp, a, k*sizeof(*a));
memmove(a, a + k, sizeof(a) - k*sizeof(*a));
memcpy(a + sizeof(a)/sizeof(*a) - k, tmp, k*sizeof(*a));
free(tmp);
}

printf("%i", *a);
for (k = 1; k < sizeof(a)/sizeof(*a); k++)
printf(" %i", a[k]);

getch();
return 0;
}

Похожие вопросы
помогите найти ошибку в программе на языке паскаль
Помогите найти ошибку в коде программы!
Помогите найти ошибку в программе. Паскаль.
Помогите найти ошибки в программе. Язык программирования С и С++
помогите пожалуйста найти ошибку в программе!
Помогите найти ошибки в коде программы
народ помогите найти ошибку в моей программе
Помогите найти ошибку в программе паскальАВС
Помогите найти ошибку в программе Deiphi7
Помогите найти ошибку в программе С++