Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 22:21   #1
DartDayring
Пользователь
 
Регистрация: 10.02.2010
Сообщений: 55
По умолчанию квадратная матрица

помогите с программой.

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

Вот код. Но прога считает максимум, а мне нужен минимум!

Код:
#include "stdafx.h"
#include<iostream>


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,"Russian");
	int i,j,n,r,s=0,m,a[20][20];
	printf("\nВведите количество строк и столбцов = "); scanf("%d",&n);
	for(j=0;j<n;j++)
	for(i=0;i<n;i++){
		printf("a[%d][%d] = ",i+1,j+1);scanf("%d",&r);a[i][j]=r;}
	for(i=0;i<n;i++){r=0;
	for(j=0;j<n;j++){
		if(a[i][j]<0){r=0; break;}r+=a[i][j];}s+=r;}
	m=abs(a[0][0]); 
	for(i=0;i<n-1;i++){r=0; 
	for(j=0;j<=i;j++)r+=abs(a[i][i-j]); 
	if(m<r)m=r; printf("\n");}
	for(i=1;i<n;i++){r=0; 
	for(j=n;j>i;j--)r+=abs(a[n-j+i][j-1]); 
	if(m<r)m=r; printf("\n");}
	printf("\nСумма = %8d\n Максимум = %8d\n",s,m); 
	return 0;
}
DartDayring вне форума Ответить с цитированием
Старый 12.03.2010, 22:25   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
if(m>r)m=r;
В чем проблема?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 12.03.2010, 22:39   #3
DartDayring
Пользователь
 
Регистрация: 10.02.2010
Сообщений: 55
По умолчанию

Пробывал считает не правильно
DartDayring вне форума Ответить с цитированием
Старый 13.03.2010, 13:36   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Изначально неправильные коэффициенты и границы циклов
Код:
	for(i=0;i<n-1;i++){r=0;
	for(j=0;j<=i;j++)r+=abs(a[i-j][j]);
	if(m>r)m=r; }
	for(i=0;i<n;i++){r=0;
	for(j=n-1;j>=i;j--)r+=abs(a[n-1-j+i][j]);
	if(m>r)m=r; }
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Квадратная матрица anna_ Помощь студентам 8 15.12.2009 21:16
Действительная квадратная матрица Брутальный М. Паскаль, Turbo Pascal, PascalABC.NET 2 30.12.2008 12:42
Квадратная матрица в Delphi Tomoyo Помощь студентам 10 12.11.2008 18:35
Квадратная матрица [C++Builder] conqueror Помощь студентам 1 28.10.2008 11:11