Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце - C (СИ)
Формулировка задачи:
1. Дан целочисленный массив A размера N. Переписать в новый целочисленный массив B того же размера вначале все элементы исходного массива с четными номерами, а затем — с нечетными.
2. Дана матрица размера M N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.
3. Создать непустой стек. Преобразовать этот стек в очередь, удаляя повторяющиеся элементы.
Решение задачи: «Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
int n,i,j;
while(!fflush(stdin)&&printf ("Vedite razmrnost massiva A (n) = ")&&!scanf ("%i",&n));
int *A = (int*)malloc(n*sizeof(int));
int *B = (int*)malloc(n*sizeof(int));
printf("\nMassiv A: ");
srand(time(NULL));
for(i=0;i<n;i++)
{
A[i]=rand()% 10;
printf("%i ",A[i]);
}
printf("\nMassiv B: ");
for (i=1; i<n; i+=2)
{
B[i]=A[i];
printf("%i ",B[i]);
}
for (i=0; i<n; i+=2)
{
B[i]=A[i];
printf("%i ",B[i]);
}
free(A);
free(B);
getch ();
return 0;
}
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Ввод размера матрицы с помощью функции fflush и printf.
- Выделение памяти под матрицу A с помощью функции malloc.
- Генерация случайных значений для элементов матрицы A с помощью функции rand.
- Вывод матрицы A на экран с помощью функции printf.
- Выделение памяти под матрицу B с помощью функции malloc.
- Копирование элементов матрицы A в матрицу B с помощью цикла for и оператора присваивания.
- Вывод матрицы B на экран с помощью функции printf.
- Освобождение памяти, выделенной под матрицы A и B, с помощью функции free.
- Ожидание нажатия клавиши с помощью функции getch.
- Возврат значения 0, завершающего работу программы, с помощью оператора return.