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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 13:31   #1
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
Восклицание Как оптимизировать код C++

Подскажите пожалуйста как оптимизировать этот код!

Код:
 #include<iostream>
#include<stdlib.h> // в этом файле содержатся функции rand и srand
#include<time.h> // в этом файле содержится функция time

using namespace std;

void main()
{
const int m = 4;
const int n = 4;
int A[m][n];
int max=-1;

srand((unsigned)time(NULL)); // чтобы числа каждый раз были разные


for(int i=0; i<m; i++)
{

    for(int j=0; j<n;j++)
    {

        A[i][j]=rand()%100;
        cout<<A[i][j]<<" ";

    }

    cout<<"\n\n";
}

for(int i=0; i<m; i++)
{
    for(int j=0; j<n;j++)
    {
        if(max<A[0][0])
        {
        max=A[i][j];
        }
        if(max<A[0][1])
        {
        max=A[i][j];
        }
        if(max<A[0][2])
        {
        max=A[i][j];
        }
        if(max<A[0][3])
        {
        max=A[i][j];
        }
        if(max<A[1][1])
        {
        max=A[i][j];
        }
        if(max<A[1][2])
        {
        max=A[i][j];
        }
        if(max<A[1][3])
        {
        max=A[i][j];
        }
        if(max<A[2][2])
        {
        max=A[i][j];
        }
        if(max<A[2][3])
        {
        max=A[i][j];
        }
        if(max<A[3][3])
        {
        max=A[i][j];
        }
    }
}

cout<<"Max = "<<max<<"\n\n";
}
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 28.01.2010, 13:34   #2
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

Код:
 
max = A[0][0];
...
if(max<A[i][j]) max=A[i][j];
Namolem вне форума Ответить с цитированием
Старый 28.01.2010, 13:39   #3
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию

Не понял, а можно объяснить?
max = A[0][0]; - ругается,мол варнинг.
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 28.01.2010, 13:40   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Код:
#include <iostream>
#include <time.h>

using namespace std;

int main()
{

const int m = 4;
const int n = 4;

int A[m][n];
int max=-1;

srand((unsigned)time(NULL));


for(int i=0; i<m; i++)
{

    for(int j=0; j<n;j++)
    {

        A[i][j] = rand()%100;
        cout<< A[i][j] << " ";

    }

    cout<<"\n\n";
}

for(int i=0; i<m; i++)
{
    for(int j=0; j<n;j++)
    {
		if (max < A[i][j])
			max = A[i][j];
	}

}

cout << "Max = " << max << "\n\n";

cin.get();

	return 0;
}
profi вне форума Ответить с цитированием
Старый 28.01.2010, 13:42   #5
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию

Друзья,вы не поняли в задаче сказано мол найти максимальное в определенной часть матрици.
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 28.01.2010, 13:49   #6
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию

Дана квадратная матрица порядка n (n строк, n столбцов). Найти наибольшее из значений элементов, расположенных в тёмно-синих частях матриц.
Может я не правильно понял условия? я думаю найти максимальное из всех 1ц
1111
0111
0011
0001
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 28.01.2010, 13:50   #7
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Цитата:
расположенных в тёмно-синих частях матриц
А это как?
profi вне форума Ответить с цитированием
Старый 28.01.2010, 13:56   #8
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию


Я делал а.
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 28.01.2010, 13:58   #9
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Так бы сразу нужно было сказать, что нужно брать элементы выше главной диагонали. В моем коде вместо
Код:
if (max < A[i][j])
нужно написать
Код:
if ((max < A[i][j]) && (i < j))

Последний раз редактировалось profi; 28.01.2010 в 14:03.
profi вне форума Ответить с цитированием
Старый 28.01.2010, 14:14   #10
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию

profi,спасибо!
Учусь программировать
slim>>> вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите оптимизировать код. kievlyanin Microsoft Office Excel 3 22.05.2009 18:20
Оптимизировать код копирования tae1980 Microsoft Office Excel 3 27.02.2009 21:43
Помогите оптимизировать код tae1980 Microsoft Office Excel 2 11.02.2009 23:24
Оптимизировать код. Манжосов Денис :) Общие вопросы Delphi 1 20.10.2008 19:06
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 08:57