Язык си робота с массивами
Помогите пожалуйста решить задачу. Написать программу, которая вводит с клавиатуры массив из 6 целых чисел и изменяет его следующим образом: первый элемент меняется местами с последним, второй – с предпоследним и.т.д. При вводе с клавиатуры 15 целых чисел они выводятся в той же последовательности в которой вводились без изменений. Как изменить код программы чтобы условия соблюдалось.
#include <stdio.h>
#include <stdlib.h>
#define N 6
int main()
{
int ARR[N];
int i;
for (i=0;i<N;++i)
scanf("%d",&ARR[i]);
for (i=0;i<N;++i)
printf(" %d ",ARR[i]);
}
Ответы (2 шт):
Автор решения: Проста Miha
→ Ссылка
Код от новичка в Си :)
int n;
printf("Введите длинну массива :");
scanf("%d", &n);
int A[n];
for (int i = 0; i < n; i++) {
printf("Введите значение для A[%i] :", i);
scanf("%d", &A[i]);
}
for (int i = 0; i < n / 2; i++) {
int tmp = A[i];
A[i] = A[n - i - 1];
A[n - i - 1] = tmp;
}
for (int i = 0; i < n; i++) {
printf("%d ", A[i]);
}
printf("Введите элементы массива через пробел :\n");
int count = 0;
int A[100000];
do {
scanf("%d", &A[count++]);
} while (getchar() != '\n' && count < 100);
for (int i = 0; i < count / 2; i++) {
int tmp = A[i];
A[i] = A[count - i - 1];
A[count - i - 1] = tmp;
}
for (int i = 0; i < count; i++) {
printf("%d ", A[i]);
}
Автор решения: Александр
→ Ссылка
Хочу поблагодарить еще раз за помощь я немного переделал твой код мой вариант выглядит таким образом:
#include <stdio.h>
#define n 6
int main()
{
int A[n];
int i;
for(i=0;i<n;i++)
{
scanf("%d",&A[i]);
}
for(i=0;i<n/2;i++)
{
int tmp = A[i];
A[i]=A[n-i-1];
A[n-i-1]=tmp;
}
for(i=0;i<n;i++)
{
printf(" %d ",A[i]);
}
}