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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2012, 23:49   #1
julia9311
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 69
По умолчанию оформление в виде функции

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

Код:
#include "iostream.h"
#include "conio.h"
int main()
{
    int a[10][10];
    int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;//указатель
    p=new int[n*m];
    cout<<"Vvedite elementi massiva\n";
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]= ";//"a[i][j]="
            cin>>a[i][j];
        }
 while(b)
    {
        for(i = 0,j = b; i < c; i++, j++)
            sum += a[i][j];
        if (max < sum)
        {
            max = sum;
        }
       
        sum = 0;
        c++;
        --b;
    }   
    cout<<"Maximum= "<<max<<endl;
   return sum;
return 0;
 getch();
}
}

Последний раз редактировалось julia9311; 23.06.2012 в 23:59.
julia9311 вне форума Ответить с цитированием
Старый 24.06.2012, 12:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int sum(){int s;for(i = 0,j = b; i < c; i++, j++) s += a[i][j];return s;}
Код:
int maxx(int s,int max){return (max < sum)?sum:max;}
Эти две функции подставь так:
Код:
while(b) {max=maxx(sum(),max);c++; --b;}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2012, 15:02   #3
julia9311
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 69
По умолчанию

спасибо) сейчас буду пробовать
julia9311 вне форума Ответить с цитированием
Старый 24.06.2012, 15:54   #4
julia9311
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 69
По умолчанию

Код:
#include "iostream.h"
#include "conio.h"
int main()
{
	int a[10][10];
	int i, j, n=10, m=10, sum=0, max=0, b=n-1, c=1;
    int *p;
	p=new int[n*m];
	cout<<"Vvedite elementi massiva\n";
	for(i=0; i<n; i++)
	{
		for(j=0; j<m; j++)
		{
			cout<<"a["<<i<<"]["<<j<<"]= ";
			cin>>a[i][j];
		}

int sum()
{
int s;
for(i=0,j=b;i<c;i++,j++)
s+=a[i][j];
return s;
}

int maxx(int s, int max)
{
	return(max<sum)?sum:max;
}

while(b)
{
max=maxx(sum(), max);
c++;
--b;
}
сделала, но выдает 3 ошибки
C:\Documents and Settings\Admin\Local Settings\Temp\Rar$DI48.171\4.2.cpp( 19) : error C2601: 'sum' : local function definitions are illegal
C:\Documents and Settings\Admin\Local Settings\Temp\Rar$DI48.171\4.2.cpp( 27) : error C2601: 'maxx' : local function definitions are illegal
C:\Documents and Settings\Admin\Local Settings\Temp\Rar$DI48.171\4.2.cpp( 37) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
julia9311 вне форума Ответить с цитированием
Старый 24.06.2012, 16:47   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Юлечка, ты их описала внутри main() а нужно описывать снаружи. Перед main например
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2012, 16:54   #6
julia9311
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 69
По умолчанию

то есть сначала int sum, потом int maxx и только потом int main()?
julia9311 вне форума Ответить с цитированием
Старый 24.06.2012, 17:29   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Именно так.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2012, 17:35   #8
julia9311
Пользователь
 
Регистрация: 23.06.2012
Сообщений: 69
По умолчанию

спасибо, вопрос уже решен))
julia9311 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать оформление вывода результатов расчета в виде IZOPGRAM Фриланс 1 10.06.2012 23:23
Нужно оформить в виде функции. MrRifleman Общие вопросы C/C++ 0 27.05.2012 19:05
работа с матрицей(оформление в виде процедуры) 1евгений1 Помощь студентам 2 29.05.2011 15:46
Результат функции в виде массива! Replicant Общие вопросы Delphi 3 18.03.2011 14:33
матрица(оформленная в виде функции) hungry Общие вопросы C/C++ 4 21.06.2009 19:16