1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 46
1

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

18.12.2013, 16:07. Показов 2206. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите доделать задачу до конца, пожалуйста :-)


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


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
int _tmain(int argc, _TCHAR* argv[])
 
{ int n,k;
int m[10][10],i,j, s= 0,a =0, y_otr;
cout <<"n=";
cin>>n;
cout <<"k=";
cin>>k;
for (i = 0; i < n; i++)
for (j = 0; j< n; j++)
cin>> m[i][j];
for (i = 0; i < k; i++)
for (j = 0; j< k; j++)
{y_otr=false;
for ( i = 0; i < k; i++)
if (m[i][j]<0)
y_otr=true; 
if (!y_otr)
for (i = 0; i < n; i++)
s+=m[i][j];
cout <<s;
s=0; 
}
 
system ("pause");
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2013, 16:07
Ответы с готовыми решениями:

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Доброго времени суток. Помогите создать процедуру, которая найдет минимум среди сумм модулей...

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

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

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

4
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 46
22.12.2013, 14:32  [ТС] 2
Помогите, пожалуйста, сделать второе задание. Только нужно, чтобы 1 и 2 задание были выполнены одним кодом.

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

1 задание:

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
int _tmain(int argc, _TCHAR* argv[])
 
{ int n,k;
int m[10][10],i,j, s= 0,a =0, y_otr;
cout <<"n=";
cin>>n;
cout <<"k=";
cin>>k;
for (i = 0; i < n; i++)
for (j = 0; j< n; j++)
cin>> m[i][j];
for (i = 0; i < k; i++)
for (j = 0; j< k; j++)
{y_otr=false;
for ( i = 0; i < k; i++)
if (m[i][j]<0)
y_otr=true; 
if (!y_otr)
for (i = 0; i < n; i++)
s+=m[i][j];
cout <<s;
s=0; 
}
 
system ("pause");
return 0;
}
0
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 46
23.12.2013, 20:50  [ТС] 3
Задание:
Дана целочисленная квадратная матрица.
Определить:
1)сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2)минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Получается так:

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

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



Код:
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
 
{ int n,k;
int m[10][10],i,j, s= 0,a =0, y_otr;
cout «"n="; //
cin»n; // вводим n
cout «"k="; //выводим к
cin»k; //вводим к
for (i = 0; i < n; i++)
for (j = 0; j< n; j++)
cin» m[i][j];
for (i = 0; i < k; i++)
for (j = 0; j< k; j++)
{y_otr=false;
for ( i = 0; i < k; i++)
if (m[i][j]<0)
y_otr=true; 
if (!y_otr)
for (i = 0; i < n; i++)
s+=m[i][j];
cout «s;
s=0; } //обнуление суммы.
{int minimum = m[0][0];
for (i = 0; i<n; i++)
{
int sum = 0;
for(j = i; j>=0; j--)
{
sum += abs(m[j][i-j]);
}
minimum = min(minimum, sum);
}
for (i = 1; i<n; i++)
{
int sum = 0;
for (j = k-1; j > i-1; j--)
{
sum += abs(m[i+n-1-j][j]);
}
minimum = min(minimum, sum);
}
}


Но программа должна выводить минимум среди модулей сумм и первое задание, а получается что-то непонятное. Что не так? Помогите, пожалуйста, разобраться(((
0
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 46
23.12.2013, 22:02  [ТС] 4
Задание: минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.

Вот правильный код:

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
#include "stdafx.h"
#include <iostream>
 
const int k = 3;
void sum(int mas[k][k]);
void max(int matrix[k][k]);
 
 
int main(){
    int arr[k][k];
    int i, j;
 
    for (i = 0; i < k; i++){
        for (j = 0; j < k; j++){
            printf("arr[%d][%d] = ", i + 1, j + 1);
            scanf("%d", &arr[i][j]);
        }
    }
 
    printf("\n-----------------------\n");
    for (i = 0; i < k; i++)
    for (j = 0; j < k; j++)
        printf((j < (k - 1)) ? "%d\t" : "%d\n", arr[i][j]);
 
    printf("\n Summa elementov v teh strokah,kotorye ne soderjat otricatelnyh elementov:");
    sum(arr);
    printf("\n \n Minimum sredi summ elementov diagonalej,parallelnyh pobochnoy diagonali matricy: ");
    max(arr);
    fflush(stdin);
    char c = getchar();
    return 0;
}
 
void sum(int mas[k][k])
{
    int i, j, a, sum, n;
    for (i = 0; i<k; i++)
    {
        a = 0;
        for (j = 0; j<k; j++)
        if (mas[i][j]<0) a++;
        if (a == 0)
        {
            sum = 0;
            for (n = 0; n<k; n++)
                sum += mas[i][n];
            printf("\n stroka %d: %d", (i + 1), sum);
        }
    }
}
int sumDiagonal(int matrix[k][k], int currentDiagonal)
{
    int sum = 0;
    if (currentDiagonal < k)
    for (int i = -1; i != currentDiagonal; ++i)
        sum += matrix[currentDiagonal - i - 1][i + 1];
    else
    for (int i = currentDiagonal - k + 1, j = k; i < k; ++i)
        sum += matrix[--j][i];
    return sum;
}
void max(int matrix[k][k])
{
    int min = sumDiagonal(matrix, 0);
    for (int i = 1, cnt; i < k + k - 1; ++i)
    {
        cnt = sumDiagonal(matrix, i);
        if (cnt < min)
            min = cnt;
    }
    printf("%d\n", min);
}
Пытаюсь разобраться в этом коде. Что нужно вводить в консольном окне?
0
1 / 1 / 0
Регистрация: 24.11.2013
Сообщений: 46
25.12.2013, 12:05  [ТС] 5
Задание: минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.


Вот набросок алгоритма:

Пусть дана матрица размером n*n
A – матрица
k – смещение от побочной диагонали

1) Найдем минимум среди сумм модулей элементов диагоналей ниже побочной диагонали – min1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
min1=0;
x = 2;
for (k=1; k<=n-2; k++) //пока k меньше или равно n-2
{
summa=0;
for (i=x; i<=n; i++)
{
summa=summa+модуль(A[i,(n+k)-i+1]);
}
if (min1=0)
{
min1=summa;
}
else //(иначе)
{
if (summa<min1)
{
min1=summa;
}
}
x=x+1;
}
2) Найдем минимум среди сумм модулей элементов диагоналей выше побочной диагонали – min2.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
min2=0;
x = n-1;
for (k=1; k<=n-2; k++)
{
summa=0;
for (i=1; i<=x; i++)
{
summa=summa+модуль(A[i,(n-k)-i+1]);
}
if (min2=0)
{
min2=summa;
}
else // (иначе)
{
if (summa<min2)
{
min2=summa;
}
}
x=x-1;
}
3) Находим наименьшее из min1 и min2.
0
25.12.2013, 12:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2013, 12:05
Помогаю со студенческими работами здесь

Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Помогите написать код! Задача: Дана целочисленная квадратная матрица. Определить минимум среди...

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

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

Для заданной матрицы найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали.
Помогите разобрать в С++ нешарю: Для заданной матрицы найти минимум среди сумм модулей элементов...

Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Ребят, программа работает, проверьте только на чистоту кода, пожалуйста Дана целочисленная...

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


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

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

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