Написать функцию, которая вставляет в массив элемент с заданным индексом и заданным значением - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Мне нужно написать функцию, которая вставляет в массив элемент с заданным индексом и заданным значением. Лишний элемент должен пропасть. Но моя программа заменяет элемент т.е. в моем массиве 0 1 2 3 4 7 6 7 8 9, а нужно 0 1 2 3 4 7 5 6 7 8. Заранее очень благодарен за ответ.
#include <stdio.h>
#define N 10
 
void zamena(int index, int element, int *a);
int main(void)
{
    int a[N];
    int element, index, i;
     
    for(i = 0; i < N; i++) 
        a[i] = i;
    printf("Enter index and element:");
    scanf_s("%d %d", &index, &element);
    zamena(index, element, a);
    for(i = 0; i < N; i++)
        printf(" %d ", a[i]);
}
 
void zamena (int index, int element, int *a)
{
  
    a[index] = element;
}
Или можете написать, как сдвинуть массив и вставить туда элемент.

Решение задачи: «Написать функцию, которая вставляет в массив элемент с заданным индексом и заданным значением»

textual
Листинг программы
zamena(index, element, a, N);
 
void zamena (int index, int element, int *a, int N)
{
    for (int i=N-1;i>index;i--) a[i]=a[i-1];
    a[index] = element;
}

Объяснение кода листинга программы

  1. Входные параметры функции zamena:
    • index - индекс, на который нужно вставить элемент
    • element - элемент, который нужно вставить
    • a - массив, в который нужно вставить элемент
    • N - размер массива
  2. Выходные параметры функции zamena:
    • None
  3. Вложенный цикл for, который выполняется от N-1 до index включительно.
    • Переменная i используется как индекс для обращения к элементам массива a.
    • Значение a[i] присваивается значению a[i-1], что позволяет сдвинуть все элементы массива вправо от индекса index на одну позицию.
  4. После завершения вложенного цикла, значение element присваивается элементу массива a с индексом index.
  5. Возвращаемое значение функции zamena:
    • None

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы