Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
16.11.2025
Размер:
1.19 Кб
Скачать
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void insert(int **a, int n, int k, int A) {
    int *q;
    int i;
    q = (int*) realloc(*a, (n+1)*sizeof(int));
    if (q==NULL) {
            printf("Ошибка! Нет памяти.");
    }
    else {
            *a = q;
            for(i=n; i>=k; i--){
                    (*a)[i+1] = q[i];
            }
            (*a)[k]=A;
    }
}
void swap(int **a, int i){
    int b;
    b=(*a)[0];
    (*a)[0]=(*a)[i-1];
    (*a)[i-1]=b;
}
void printm(int **a, int n){
    int l;
    for(l=0; l<n; l++){
        printf("%3d", l+1);
    }
    printf("\n");
    for(l=0; l<n; l++){
        printf("%3d", (*a)[l]);
    }
    printf("\n");
}
int main(void){
    int n, j, k, A, i;
    int *dinmas; // Dinam. massiv;
    scanf("%d", &n);
    dinmas = (int *) malloc(n * sizeof (int));
    if(dinmas == NULL){
        exit(EXIT_FAILURE);
    }
    for(j=0; j<n; ++j){
        scanf("%d", &dinmas[j]);
    }
    scanf("%d", &A);
    scanf("%d", &k);
    scanf("%d", &i);
    printm(&dinmas, n);
    printf("\n");
    insert(&dinmas, n, (k-1), A);
    swap(&dinmas, i);
    printm(&dinmas, n+1);
}
Соседние файлы в папке 2 семестр