Problema: Dado um array de inteiros(numbers[]), o seu numero de elementos(n_numbers), o seu valor a introduzir(x), na posição desejada(y) terá de adicionar esse elemento (x) na posição y do array inserido por exemplo:
inserindo na consola do C:
n_numbers: 5
numbers[]: 2 7 4 8 9
x: 16 (valor a introduzir na posição y)
y: 2 (posição desejada para inserir o novo elemento)
Inserindo esses valores o resultado terá de ser:
Antes: 2 7 4 8 9
Resultado: 2 7 16 4 8 9
código:
Nota: isto é apenas a funçao para inserir o elemento, a funçao que pede os valores penso que nao seja necessaria.
ints_insert_at(int *numbers, int n_numbers, int x, int y)
{
int i;
for (i=0;i<n_numbers;i++)
if (n_numbers == y)
{
numbers[y] = x;
}
return i;
}
Até a este momento com este codigo o resultado é: 2 7 16 8 9, ou seja, esta apenas a substituir o 4 pelo 16 mas o pretendido é inserir o 16 na posicao 2 onde esta o valor 4 e avançar o resto dos numeros uma casa a frente, mas sou iniciante e nao sei como se faz alguem ajuda ? obrigado pessoal.
inserindo na consola do C:
n_numbers: 5
numbers[]: 2 7 4 8 9
x: 16 (valor a introduzir na posição y)
y: 2 (posição desejada para inserir o novo elemento)
Inserindo esses valores o resultado terá de ser:
Antes: 2 7 4 8 9
Resultado: 2 7 16 4 8 9
código:
Nota: isto é apenas a funçao para inserir o elemento, a funçao que pede os valores penso que nao seja necessaria.
ints_insert_at(int *numbers, int n_numbers, int x, int y)
{
int i;
for (i=0;i<n_numbers;i++)
if (n_numbers == y)
{
numbers[y] = x;
}
return i;
}
Até a este momento com este codigo o resultado é: 2 7 16 8 9, ou seja, esta apenas a substituir o 4 pelo 16 mas o pretendido é inserir o 16 na posicao 2 onde esta o valor 4 e avançar o resto dos numeros uma casa a frente, mas sou iniciante e nao sei como se faz alguem ajuda ? obrigado pessoal.