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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2012, 01:15   #1
Morgans
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 12
По умолчанию Даны действительные числа

Даны действительные числа a1,...,a30.Получить max(a1+a30,a2+a29,...,a15+a16).Толь ко программу нужно упростить и что бы использовались функции.
Код:
#include <iostream>

int main(int argc, char **argv)
{
    int size;
    std::cout << "Count: ";
    std::cin >> size;
    int *array = new int[size];
    for(int i = 0; i < size; i++)
    {
        std::cout << "Array[" << i << "]: ";
        std::cin >> array[i];
    }

    std::cout << "Dec\n";
    for(int i = 0; i < size; i++)
        std::cout << std::dec << array[i] << " ";
    std::cout << std::endl;
    std::cout << "Oct\n";
    for(int i = 0; i < size; i++)
        std::cout << std::oct << array[i] << " ";
    std::cout << std::endl;

    for(int i = 0; i < size; i++)
        if (!(array[i] & 1))
            array[i] = array[i] & 256;
        else
            array[i] = array[i] | 24;

    std::cout << "Dec\n";
    for(int i = 0; i < size; i++)
        std::cout << std::dec << array[i] << " ";
    std::cout << std::endl;

    std::cout << "Oct\n";
    for(int i = 0; i < size; i++)
        std::cout << std::oct << array[i] << " ";
    std::cout << std::endl;

    delete [] array;
    system("pause");
    return 0;
}
Morgans вне форума Ответить с цитированием
Старый 22.05.2012, 09:19   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

А при чем здесь ваша программа? Она явно решает совершенно другую задачу.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 22.05.2012, 17:08   #3
Morgans
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 12
По умолчанию Подскажи

Подскажите тогда как нужно, а то я что то вообще не соображаю(
Morgans вне форума Ответить с цитированием
Старый 22.05.2012, 18:26   #4
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Код функций примерно такой (не проверяла)
Код:
int max(int * a, int size)
{
	int max = a[0];
	for(int i = 0; i<size; i++)
	{
		if(a[i]>max)
			max = a[i];
	}
	return max;
}
int FindMax(int * a, int size)
{
	int sum = 0, newSize = size/2;
	int * temp = new int[newSize]
	
	for(int i = 0; i<newSize; i++)
	{
		sum = a[i] + a[size-1-i];
		temp[i] = sum;
	}
	return max(temp, newSize);
}
А в main оставте только выделение памяти под массив из 30 элементов, заполнение этого массива, вызов функции FindMax, и, естественно, освобождение памяти.
rmv240899 вне форума Ответить с цитированием
Старый 22.05.2012, 20:57   #5
Morgans
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 12
По умолчанию ...

Что то я собрал все вместе,а у меня ничего не работает(
Morgans вне форума Ответить с цитированием
Старый 23.05.2012, 14:30   #6
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Тогда выложите этот код.
rmv240899 вне форума Ответить с цитированием
Старый 23.05.2012, 15:00   #7
БалаШагаЛ
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 131
По умолчанию

Вроде так. Чтоб совсем уж систематизировано...
Код:
#include <iostream>

int const length=30;

double GetLocalSum(double *a,int n)
{
    return a[n]+a[length-1-n];
}

double GetMaxSumInArray(double *a)
{
    int i;
    double max=GetLocalSum(a,0);
    for (i=1;i<length/2;i++)
      if (GetLocalSum(a,i)>max)
        max=GetLocalSum(a,i);
    return max;
}

int main()
{
    int i;
    double a[length];
    for (i=0;i<length;i++)
    {
        std::cin >> a[i];
    }
    double maxsum=GetMaxSumInArray(a);
    std::cout << maxsum;
}
БалаШагаЛ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны действительные числа, олучить действительную квадратную матрицу порядка 8, элементы - числа расположенные по схеме Black_Limbo Помощь студентам 0 22.04.2012 17:06
Даны действительные числа a1,...,a20. Получить числа b1,...,b20, ... Alfa.Shadow Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2011 15:55
Даны действительные числа... Мария Сафонова Помощь студентам 9 29.03.2011 17:13
Даны действительные числа margarit Паскаль, Turbo Pascal, PascalABC.NET 0 13.01.2011 20:00
Даны действительные числа а1, а2, ..., аn. Figushkin Помощь студентам 0 30.05.2010 11:17