1 / 1 / 2
Регистрация: 10.07.2015
Сообщений: 157
1

Обработка двухмерных массивов с использованием функций

28.03.2018, 00:21. Показов 1054. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Каждый пункт нижеприведенного задания оформить в виде функции. Все
необходимые данные для функций должны передаваться им в качестве пара-
метров. Ввод-вывод данных и результатов также организовать с помощью со-
ответствующих функций.

Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех строках, которые не содержат отрицательных
элементов;
2) минимум среди сумм элементов диагоналей, параллельных главной диаго-
нали матрицы.

Пожалуйста,помогите написать,я не могу (
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2018, 00:21
Ответы с готовыми решениями:

Обработка двухмерных массивов с использованием функций
Каждый пункт нижеприведенного задания оформить в виде функции. Все необходимые данные для функций...

Сделать задачу с использованием функций. Ввод-вывод значений массивов осуществить с п0м0щью функций
Задача 1.Даны коэффициенты многочленов P(x) и Q(x) 5-й степени и дано вещественное a. Вычислить...

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

Обработка одномерных массивов и Обработка двухмерных массивов.
Всем привет, У меня большие проблемы... нужно сделать 2 лабораторные работы по информатике, но я...

1
2305 / 1131 / 702
Регистрация: 25.04.2016
Сообщений: 3,220
31.03.2018, 03:20 2
Лучший ответ Сообщение было отмечено Kateryna1111 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void printf_arr (int a[][6], const int, const int);
void fill_array (int a[][6], const int, const int);
void negative_a (int a[][6], const int, const int);
void diagonal_a (int a[][6], const int, const int);
int main (void)
{
    srand(time(NULL));
    const int n = 6, m = 6;     // размеры массива
    int d[n][m];                    // массив
 
    fill_array(d, n, m);            // заполняем
    printf_arr(d, n, m);            // на экран
    printf("\n");
    negative_a(d, n, m);            // суммы строк
    printf("\n");
    diagonal_a(d, n, m);            // минимальаня диагональ
    exit(0);
}
 
// --------------------- массив на экран ----------------------
void printf_arr (int a[][6], const int n, const int m)
{
    int i, k;
    for (i=0; i<n; i++)
    {
        printf("line %d: ", i);
        for (k=0; k<m; k++)
            printf("%6d", a[i][k]);
        printf("\n");
    }
}
// --------------------- заполняeм массив ---------------------
void fill_array (int a[][6], const int n, const int m)
{
    int i, k, max = n*m+1, min = -n*m/3;
    for (i=0; i<n; i++)
        for (k=0; k<m; k++)
            a[i][k] = min + rand() %max;
}
// - ищем суммы элементов строк, в которых нет отрицательных --
void negative_a (int a[][6], const int n, const int m)
{
    int i, k, negative, sum;
    for (i=0; i<n; i++)
    {
        negative = sum = 0;
        for (k=0; k<m; k++)
        {
            sum += a[i][k];
            if (a[i][k] < 0)
            {
                negative = 1;
                k = m;                  // break;
            }
        }
        if (negative < 1)
            printf("line %d: sum = %d\n", i, sum);
    }
}
// ---------- минимальаня сумма элементов диагонали -----------
void diagonal_a (int a[][6], const int n, const int m)
{
    int i, k, min;
    int b[2][n];            // массив для хранения сумм элементов диагоналей
    for(k=0; k<n; k++)  // изначально все эелементы равны 0
        b[0][k] = b[1][k] = 0;
    for (i=0; i<n; i++) // находим суммы элементов диагоналей
    {
        for (k=0; k<m; k++)
        {
            if (i < k) b[0][k-i] += a[i][k];
            if (i > k) b[1][i-k] += a[i][k];
        }
    }
    min = b[0][1];          // находим минимальную сумму
    for (i=0; i<2; i++)
        for (k=1; k<n; k++)
            if (b[i][k] < min) min = b[i][k];
    printf("min = %d\n", min);
}
0
31.03.2018, 03:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2018, 03:20
Помогаю со студенческими работами здесь

«Обработка двухмерных массивов»
Прошу помочь.. пожалуйста простым способом очень нужно! заранее спасибо Найти наибольший...

Обработка двухмерных массивов
Не могу понять чем ошибка в коде , я в этом деле новичек , так что сильно не удивляйтесь Условие...

Обработка двухмерных массивов
Дана матрица А (5*5) нецелых элементов. -3.8 0 5.3 4.5 0.5 0.2 -1.3 0 -8.5 3.5 -1.1 1.8 5.1...

Обработка двухмерных массивов.
Еще раз добрый вечер))!!! Помогите плиз с двумя задачками: 1) Дана действительная квадратная...

Обработка двухмерных массивов
Помогите пожалуйста решить задачу: Поменять местами максимальный элемент из массива с минимальным...

обработка двухмерных массивов
получить матрицу 1 0 ... 0 1 0 1 ... 1 0 ... ... ... ... 0 0 1 ... 1 0 1 0 ... 0 1


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru