Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
17.04.2015
Размер:
31.23 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

Лабораторная работа № 5

по программированию на языке высшего уровня С

Тема: «Двумерные массивы»

Выполнил студент: Баранова Н.Г. ВТ-11

Проверил: Ларионов Н.В.

Москва 2011 г.

  1. Условия задания:

Дана целочисленная квадратная матрица. Определить:

1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;

2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

  1. Данные:

Входные данные: i, j, matrix[ROWS][COLS].

Рабочие данные: sum, min.

  1. Схема программы:

  2. Листинг программы:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

 

#define ROWS 4

#define COLS 4

 

int main()

{

    int matrix[ROWS][COLS];

    int i = 0;

    int j = 0;

    int k = 0;

   

    int min = 0;

    int sum = 0;

   

    for(i = 0; i < ROWS; ++i)

        for(j = 0; j < COLS; ++j)

            matrix[i][j] = rand() % 9;

       

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

        for(j = 0; j < COLS; ++j)

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

       

        printf("\n");

    }

   

    for(k = 0; k < ROWS - 1 && k < COLS - 1; ++k) {

        sum = 0;

       

        for(i = 0, j = 0; i < ROWS && j < COLS - 1 - k; ++i, ++j) {

            sum += abs(matrix[i][COLS - 2 - j - k]);

        }

       

        if(sum < min || min == 0)

            min = sum;

    }

   

    for(k = 0; k < ROWS - 1 && k < COLS - 1; ++k) {

        sum = 0;

       

        for(i = ROWS - 1, j = COLS - k - 1; i >= 0 && j < ROWS; --i, ++j) {

            sum += abs(matrix[i][j]);

        }

       

        if(sum < min || min == 0)

            min = sum;

    }

   

    printf("min: %d\n", min);

    return 0;

}

  1. Тестовые задачи:

Соседние файлы в папке Баранова