Функции (язык си)

Выполнен
Заказ
5071491
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
29 Ноя 2022 в 16:00
Цена
300 ₽
Блокировка
10 дней
Размещен
28 Ноя 2022 в 09:33
Просмотров
86
Описание работы

Задание: Изменить программу так, чтобы программный код, выполняющий действия пунктов меню выполнялся в отдельных функциях (минимум по одной на каждый пункт меню).

а) допускается использование только двух глобальных переменных – указателя на массив и его размерности (в случае работы с прямоугольным массивом – допускается использование двух глобальных переменных для хранения размерности – ширины и высоты).


#include

#include

#include

#include

#include


int main() {

 setlocale(LC_ALL, "Rus");

 int choice;

 do {

  int rows, cols; // Объявление переменных

  printf("Введите количество строк:\n");

  scanf("%d", &rows);

  printf("Введите количество столбцов: \n");

  scanf("%d", & cols);

  if (rows <= 0 || cols <= 0) {

   printf("Значения строк и столбцов должны быть положительными и больше нуля\n");

   exit(0);

  }

  int a[rows][cols]; // Объявление матрицы

  int trans[cols][rows]; // Объявление матрицы транспонирования

  printf("Заполните матрицу:\n");

  int value_count = 0;

  for (int i = 0; i < rows; i++) {

   for (int j = 0; j < cols; j++) {

    scanf("%d", &a[i][j]);

    value_count++;

   }

  }

  printf("\nИсходная матрица:\n");

  for (int i = 0; i < rows; i++) {

   for (int j = 0; j < cols; j++) {

    printf("%d ", a[i][j]);

   }

   printf("\n");

  }

  // Транспонирование матрицы

  for (int i = 0; i < rows; i++) {

   for (int j = 0; j < cols; j++) {

    trans[j][i] = a[i][j];

   }

  }

  // Печать матрицы транспонирования

  printf("\nПреобразованная матрица:\n");

  int i, j;

  for (i = 0; i < cols; i++) {

   for (j = 0; j < rows; j++) {

    printf("%d ", trans[i][j]);

   }

   printf("\n");

  }

  printf("\nХотите повторить транспонирование? 1 - нет. 2 - да\n");

  scanf("%d", & choice);

 } while (choice != 1);

 return 0;

}

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
2 дня 22 минуты
Выполнен
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир