Помогите пожалуйста с кодом на языке Си
В массиве Х [N] перед каждым четным элементом вставить его удвоенное значение. Буферный массив не использовать.
Как вариант связные списки рассмотрите.
Код:
for(i=1;i<=N/2;i++)
X[2*i-1]=2*X[2*i];
X[2*i-1]=2*X[2*i];
Тогда не так тривиально.
Цитата: @pixo $oft
Может, имелось в виду не i чётное, а X? ;-)
Тогда не так тривиально.
Тогда не так тривиально.
мало ли что там имелось в виду . )
какой вопрос , такой и ответ .
а телепатию изучают в другом РАЕНе . :)
помните , как девушка просила объяснить как ставить винду семёрку с двд ? просила "для чайника"... ;)
Код:
#include <stdio.h>
#include <string.h>
#define N 32
int array_insert(int a[], int n){
int i;
for(i = 0; i < n; ++i){
if((a[i] % 2) == 0){
memmove(&a[i + 1], &a[i], (n - i)*sizeof(a[0]));
++i;
++n;
}
}
return n;
}
int main(void){
int i;
int a[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 10 };
int n = 9;
n = array_insert(a, n);
for(i = 0; i < n; ++i)
printf("%d ", a[i]);
return 0;
}
#include <string.h>
#define N 32
int array_insert(int a[], int n){
int i;
for(i = 0; i < n; ++i){
if((a[i] % 2) == 0){
memmove(&a[i + 1], &a[i], (n - i)*sizeof(a[0]));
++i;
++n;
}
}
return n;
}
int main(void){
int i;
int a[N] = { 1, 2, 3, 4, 5, 6, 7, 8, 10 };
int n = 9;
n = array_insert(a, n);
for(i = 0; i < n; ++i)
printf("%d ", a[i]);
return 0;
}
Цитата: koderAlex
помните , как девушка просила объяснить как ставить винду семёрку с двд ? просила "для чайника"... ;)
Если честно, то не помним =)
P.S. В моём предыдущем сообщении промахалось [ i ], потому что оно — BB-код.