Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Юлия17071992
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 55
12.04.2012, 14:09     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы #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
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
#include <iomanip.h>
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
const int k=4 ;
void sum (int mas[k][k]);
void max(int matrix[k][k]);
int main()
{
char*buffer;
ifstream fin("input.txt", ios :: in | ios :: out) ;
if (! fin )
{
CharToOem("File not found", buffer);
cout<<buffer<<endl;
 return 1;
}
int nrow, ncol;
fin>>nrow>>ncol;
int i,j;
int **a=new int *[nrow];
for (i=0; i<nrow; i++)
a[i] = new int[ncol] ;
for (i=0; i<nrow; i++)
for (j=0; j<ncol; j++)
fin >> a[i][j];
for(i=0; i<nrow; i++)
for (j=0; j<ncol; j++)
{
cout <<setw(4)<<a[i][j] ;
cout << endl;
}
printf("\n \n Minimum sredi summ elementov diagonalej,parallelnyh pobochnoy diagonali matricy: ");
 
void sum(int mas[k][k]) 
{
int i,j,sum,n;
for (j=0;j<3;j++)
{
for (i=3;i>=j;i--)
for (k=4;k>=0;k--)
for (i=3;i<=4-k;i--)&(j=4-k; j<=3;j++)
sum+=a[i][j];
}
}
 
 
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2012, 14:09     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Посмотрите здесь:

Для заданной матрицы найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали. C++
Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы C++
Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы C++
Определить минимум среди сумм модулей элементов диагоналей параллельных побочной диагонали C++
Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.04.2012, 18:47     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы #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
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
 
int main()
{
int nrow, ncol;
printf("nrow= "); scanf("%d", &nrow);
printf("ncol= "); scanf("%d", &ncol);
int i,j;
int **a=new int *[nrow];
for (i=0; i<nrow; i++)
a[i] = new int[ncol] ;
for (i=0; i<nrow; i++)
for (j=0; j<ncol; j++)
scanf("%d", &a[i][j]);
for(i=0; i<nrow; i++)
{
for (j=0; j<ncol; j++)
    printf("%4d", a[i][j]);
printf("\n");
}
printf("\n \n Minimum sredi summ elementov diagonalej,parallelnyh pobochnoy diagonali matricy: ");
int summin=abs(a[0][0]), t;
for(i=1; i<ncol-1; i++)
{
    t=0;
    for(j=0; j<=i && j<nrow; j++)
        t+=abs(a[j][i-j]);
    if(t<summin)
        summin=t;
}
for(i=1; i<nrow; i++)
{
    t=0;
    for(j=0; j<nrow-i && j<ncol; j++)
        t+=abs(a[i+j][ncol-1-j]);
    if(t<summin)
        summin=t;
}
printf("%d\n", summin);
getch();
return 0;
}
Юлия17071992
0 / 0 / 0
Регистрация: 29.05.2011
Сообщений: 55
13.04.2012, 06:27  [ТС]     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы #3
Расскажите пожалуйста, как она работает, а то я не поняла...и у меня в программе было чтение матрицы из файла под названием "input.txt", можно на это исправить?
Dmytro
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 2
28.05.2014, 12:09     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы #4
int minabspopobochnojdiagonali(int b[n][n])
{
int s[n+n];
for (int j=0; j<n ; j++) {
for (int i = 0, m=n-1-j; i < n-j; i++, m--) // </
s[n-j-1]+=b[m][i];

for (int i=n-1, m=n-j; m<n ; i-- ,m++) // />
s[n+j]+=b[m][i];

}

int min=abs(s[0]);
for (int j=1; j < n+n; j++) {
if (abs(s[j])<min) min=abs(s[j]); }

return min;
}
Yandex
Объявления
28.05.2014, 12:09     Найти минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Ответ Создать тему
Опции темы

Текущее время: 02:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru