Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <locale.h>
- #include <math.h>
- #include <stdio.h>
- #include <malloc.h>
- #include <time.h>
- #include <stdlib.h>
- /*функция ввода массива с клавиатуры*/
- void vvodArray(int** a, int n, int m) {
- printf("Введите числа (%i): ", n);
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++)
- scanf_s("%i", &a[i][j]);
- }
- }
- /*функция заполнения массива случайными числами*/
- void randomArray(int** a, int n, int m) {
- srand(clock());
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++)
- a[i][j] = rand() % 100;
- }
- }
- /*функция вывода массива*/
- void vivodArray(int** a, int n, int m) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++)
- printf("%i ", a[i][j]);
- printf("\n");
- }
- }
- int main()
- {
- setlocale(LC_ALL, "rus");
- int n, m;// размерность матрицы
- /*ввод размера матрицы*/
- printf("Введите размер матрицы NxM: ");
- do {
- scanf_s("%i%i", &n, &m);
- if ((n <= 0) || (m <= 0))
- printf("Повторите ввод, введите положительное число: ");
- } while ((n <= 0) || (m <= 0));
- /*выделение памяти под массив*/
- int** a = (int**)malloc(n * sizeof(int**));
- for (int x = 0; x < m; x++) {
- a[x] = (int*)malloc(m * sizeof(int*));
- }
- printf("Выберите способ ввода массива:\n1-ввод с клавиатуры\n2-заполнение массива случайными числами\n");
- /*выбор способа ввода массива*/
- int f;
- do {
- scanf_s("%i", &f);
- if ((f != 1) && (f != 2))
- printf("Введите только 1 или 2: ");
- } while ((f != 1) && (f != 2));
- if (f == 1)
- vvodArray(a, n, m);
- else
- randomArray(a, n, m);
- printf("\nИсходная матрица\n");
- vivodArray(a, n, m);
- for (int i = 0; i < n / 2; i++){
- for (int j = 0; j < m; j++){
- int temp = a[i][j];
- a[i][j] = a[(n - 1 - i)][j];
- a[(n - 1 - i)][j] = temp;
- }
- }
- printf("\nГотовая матрица\n");
- vivodArray(a, n, m);
- getchar(); getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement