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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2014, 16:29   #1
Nata-95
Пользователь
 
Регистрация: 04.05.2014
Сообщений: 12
По умолчанию Дано линейный массив действительных чисел

Help me!!
Исправьте, пожалуйста ошибку.
Дано линейный массив действительных чисел. Найти сумму последнего и максимального элементов массива
Все шаги реализуются в виде функции. Функции должны содержать параметры. Одна функция один шаг. Главная функция должна содержать только вызовы функций.

Моя программа
Код:
#include<iostream>
#include<ctime>
 
using namespace std;
 
int arr[100];
void print_mas (int n)
{
    for(int i=0; i<n; i++)
        cout << arr[i] << " ";
    cout << endl;
 
}
void fill_mas(int n)
{
    srand(time(0));
    for(int i=0; i<n; i++)
        arr[i] = rand()%100-50;
}
int last_element(int n)
{
	int s;
	last_element = s;
	s = arr [ sizeof arr / sizeof *arr - 1 ];
}
	int maximum(int n)
{
    int max=arr[0];
    for(int i=1; i<n; i++)
    {
        if(arr[i]>max)
            max=arr[i];
    }
    return max;
}
int sum(int n)
{
    int s=0;
    for(int i=0; i<n; i++)
        s+=arr[i];
        return s;
}
int main()
{
    int s;
    cin>>s;
    fill_mas(s);
    print_mas(s);
    cout<<"s="<<last_element(s);
	cout<<"max="<<maximum(s)<<endl;
    cout<<"sum="<<sum(s)<<endl;
}
Nata-95 вне форума Ответить с цитированием
Старый 04.05.2014, 20:28   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Мой вариант решения задачи:

Код:
#include <iostream>
#include <locale>
#include <cstdlib>
#include <ctime>

using namespace std;

void getArray(int []);
void printArray(int []);
int summa(int []);
int lastElem(int []);
int Max(int, int);

const int SIZE = 10;	// Размер массива

int main() {
	int myArray[SIZE];

	setlocale(0, "rus");

	cout << "\n Исходный массив:\n" << endl;

	getArray(myArray);
	printArray(myArray);
	cout << "\n Сумма: " << summa(myArray) << endl;
	system("pause");
	return 0;
}

// Ввод массива
void getArray(int myArray[SIZE]) {
	srand((unsigned)time(NULL));
	for(int i = 0; i < SIZE; i++) {
		myArray[i] = 1 + rand()%40;
	}
	return;
}

// Печать массива
void printArray(int myArray[SIZE]) {
	for(int i = 0; i < SIZE; i++) {
		cout << " [" << myArray[i] << "]"; 
	}
	cout << endl;
	return;
}
// Сумма
int summa(int myArray[SIZE]) {
	int max = myArray[0];
	for(int i = 1; i < SIZE; i++) {
		max = Max(max, myArray[i]);
		
	}
	cout << "\n Максимальный элемент: " << max << endl;
	cout << " Последний элемент: " << lastElem(myArray) << endl;
	return max + lastElem(myArray);
}

// Максимальный элемент
int Max(int a, int b) {
	return (a > b) ? a : b;
}

// Последний элемент
int lastElem(int myArray[SIZE]) {
	return myArray[SIZE - 1];
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив действительных чисел от 1 до 1000 Алексей_2012 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 15 29.08.2015 21:54
Упорядочить обменом массив действительных чисел по возрастанию. loya Помощь студентам 4 26.12.2013 09:42
преобразовать массив действительных чисел Olka_a Помощь студентам 7 29.12.2011 14:55
преобразовать массив действительных чисел Olka_a Помощь студентам 2 29.12.2011 02:40
Сформировать линейный массив из отрицательных чисел. Bikborppp Помощь студентам 0 28.10.2010 16:28