Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Язык С, Многомерные массивы 
:(
    Опции темы
Craizi8
Дата 24.4.2020, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.12.2019

Репутация: нет
Всего: нет



1.    Составьте программу вычисления суммы элементов по столбцам матрицы A (N, N).
2.    Составьте программу вычисления среднего арифметического каждой строки  матрицы B (N, N) и запишите данные значения в побочную диагональ данной матрицы.

PM MAIL   Вверх
kapbepucm
Дата 1.5.2020, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Код
#include <stdio.h>
#include <stdlib.h>

int getElement(int* matrix, unsigned int row, unsigned int column, unsigned int n)
{
  return matrix[row * n + column];
}

void setElement(int* matrix, unsigned int row, unsigned int column, unsigned int n, int value)
{
  matrix[row * n + column] = value;
}

void setMatrix(int* matrix, const int n)
{
  unsigned int row, column;
  int value;
  for (row = 0; row < n; ++row)
    for (column = 0; column < n; ++column)
    {
      printf("a(%i, %i)=", row + 1, column + 1);
      scanf("%i", &value);
      setElement(matrix, row, column, n, value);
    }
}

void printMatrix(int* matrix, const unsigned int n)
{
  unsigned int row, column;
  int value;
  printf("A(%i, %i):\n", n, n);
  for (row = 0; row < n; ++row)
  {
    for (column = 0; column < n; ++column)
    {
      value = getElement(matrix, row, column, n);
      printf("a(%i,%i)=%i  ", row + 1, column + 1, value);
    }
    printf("\n");
  }
}

void sumColumns(int* matrix, const unsigned int n)
{
  unsigned int row, column;
  int value = 0;
  printf("task1: summ values in columns:\n");
  for (column = 0; column < n; ++column)
  {
    for (row = 0; row < n; ++row)
      value = value + getElement(matrix, row, column, n);
    printf("%i  ", value);
    value = 0;
  }
  printf("\n");
}

void task2(int* matrix, const unsigned int n)
{
  printf("task 2\n");
  unsigned int row, column;
  int value = 0;
  for (row = 0; row < n; ++row)
  {
    for (column = 0; column < n; ++column)
      value = value + getElement(matrix, row, column, n);
    value = value / n;
    setElement(matrix, row, n - row - 1, n, value);
    value = 0;
  }
  printMatrix(matrix, n);
}

int main (void)
{
  unsigned int n;
  int* a;

  printf("N=");
  scanf("%i", &n);
  a = (int*)malloc(n * n * sizeof(int));

  setMatrix(a, n);
  printMatrix(a, n);
  sumColumns(a, n);

  task2(a, n);

  free(a);
  return 0;
}



--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Geras77
Дата 25.5.2020, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.5.2020

Репутация: нет
Всего: нет



Автосервис предоставляет n различных услуг, в каждую из которых – очередь автомобилей. Новые автомобили заезжают в автосервис через случайные интервалы времени; время обслуживания в каждом из n сервисов – постоянная величина a[i] (i <= n). Выбрать маршрут, при котором за заданное время t автомобиль сможет пройти максимальное число сервисов. На языке С(СИ)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.