Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:2 семестр / lab13
.c#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);
}
