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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 12:13   #1
vl@d0s
 
Регистрация: 13.12.2010
Сообщений: 7
По умолчанию Использование функций в коде программы

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


Отдельно написал два кода:


Дана целочисл. квадр. матр. Найти сумму эл-тов в тех строках,
которые не содержат отриц. эл-тов.

Код:
#include <iostream>
using namespace std;
main()
{
int mas[4][4];
int s1=0; int s2=0;
const int col_str=4;
const int col_col=4;
double matr[col_str][col_col];
cout<<"Vvedite celue elementu matr:\n";
for(int i=0;i<col_str;i++)
for(int j=0;j<col_col;j++)
{	cout<<"matr["<<i<<"]"<<"["<<j<<"]=";
cin>>matr[i][j];
}
cout<<"Vvod okonchen\n";
cout<<"\n matr =\n";
for(int i=0;i<col_str;i++)
{for(int j=0;j<col_col;j++)
cout<<'\t'<<matr[i][j]<<" ";
cout<<endl;
}
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{ if(matr[i][j]<0)
{ s1=0;
break;
}
else 
s1+=matr[i][j];
if(j==3)
{	s2+=s1;
s1=0;
}
}
cout<<"s2="<<s2;
getchar(); getchar(); return 0;
}
Найти минимум среди сумм элементов диагоналей, параллельных
главной диагонали.
Код:
#include <iostream>
using namespace std;
main()
{	int i,j,min,k;
const int n=5;
int s[2*(n-2)]={0};
int matr[5][5];
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{	cout<<"Vvedite element matricu";
cin>>matr[i][j];}
cout<<"\nmatr=\n";
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
cout<<'\t'<<matr[i][j];
cout<<endl;}
for(k=0;k<n-2;k++)
{	s[k]=0;
for(i=0;i<n-k-1;i++)
s[k]+=matr[i][i+k+1];
cout<<"\ns["<< k<<"]="<<s[k];}
for(k=0;k<n-2;k++)
{	s[k+n-2]=1;
for(i=0;i<n-k-2;i++)
s[k+n-2]+=matr[i+k+1][i];
cout<<"\ns["<<k+n-2<<"]="<<s[k+n-2];
}
min=s[k];
for(k=0;k<=4;k++)
{ if(min>s[k])
min=s[k];}
cout<<'\n'<<"min="<<min;
getchar(); getchar(); return 0;
}
Но мне сказали, что нужно сделать по функциям. Можете, помочь соеденить эти два кода в одну программу используя функции.

Последний раз редактировалось Stilet; 13.12.2010 в 13:14.
vl@d0s вне форума
Старый 13.12.2010, 13:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну допустим подсказываю:
Код:
// etert.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int mas[4][4];
int s1=0; int s2=0;
const int col_str=4;
const int col_col=4;
double matr[col_str][col_col];


void ввод(){
	cout<<"Vvedite celue elementu matr:\n";
	for(int i=0;i<col_str;i++)
	for(int j=0;j<col_col;j++)
	{	
		cout<<"matr["<<i<<"]"<<"["<<j<<"]=";
		cin>>matr[i][j];
	}
	cout<<"Vvod okonchen\n";

}

void summa(){
for(int i=0;i<4;i++) 
	for(int j=0;j<4;j++){ 
		if(matr[i][j]<0){ s1=0;break;}
		else s1+=matr[i][j];
	if(j==3){	s2+=s1;s1=0;}
	}
	cout<<"\ns2="<<s2;
}

int _tmain(int argc, _TCHAR* argv[])
{
ввод();summa();getchar();
	return 0;
}
смысл понял? Теперь выдери из второй часть кода, решаюшего вторую часть и так же оформи процедурой.
I'm learning to live...
Stilet вне форума
Старый 13.12.2010, 13:30   #3
vl@d0s
 
Регистрация: 13.12.2010
Сообщений: 7
По умолчанию

Можете, пожалуйста, дописать код до конца. А то я не сильно понял, а потом буду разбираться. Если бы было 3 функции, и вы бы написали две то смысл скорей всего бы понял, а так пока не сильно.
vl@d0s вне форума
Старый 13.12.2010, 13:49   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Читаем матчасть и проникаемся.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума
Старый 13.12.2010, 14:21   #5
vl@d0s
 
Регистрация: 13.12.2010
Сообщений: 7
По умолчанию

помогите пожалуйста дописать. Я же тоже не попро прошу написать программу, я же сам много сделал!
vl@d0s вне форума
Старый 14.12.2010, 22:08   #6
vl@d0s
 
Регистрация: 13.12.2010
Сообщений: 7
По умолчанию

помогите пожалуйста дописать. Я же тоже не прошу полностью написать программу, я же сам много сделал!
vl@d0s вне форума
Старый 14.12.2010, 22:59   #7
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Ну вы сделали такие сложные вычисления, неужели же вам трудно по примеру, написанному Виталиком и по ссылке, указанной Громом, дописать программу?
И, вместо того, чтобы клянчить, можно пару часов посидеть и разобраться с функциями.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование указателей и функций zizu Общие вопросы C/C++ 0 18.06.2010 20:18
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 18:25
Использование функций prikolist Общие вопросы C/C++ 15 06.04.2009 18:42
Использование функций Excel СеВа Microsoft Office Excel 0 14.03.2008 13:37