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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2015, 01:29   #1
Joesidorov
Пользователь
 
Регистрация: 09.12.2015
Сообщений: 26
По умолчанию Задание на массив в С++

В одномерном массиве, состоящем из вещественныx числаx, вычислить: 1) минимальный элемент массива; 2) сумму элементов массива, расположенных между первым и последним положительными элементами. 3) Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом — все остальные.

Как исправить ошибки?, Спасибо за помощь!!!!
Код:
#include <iostream>
#include <stdlib.h> 
#include <time.h> 

using namespace std;

int main()
{
	int option, n, i, j, sum, min, first_diap, end_diap;
	cout << endl << "Enter element count: ";
	cin >> n;
	cout << endl << "Enter Your Choice: " << endl << endl;
	cout << "If you want to enter data yourself, Enter 1 " << endl << endl;
	cout << "If you want to have data automatically, Enter 2 " << endl;
	cout << ">>> ";
	cin >> option;

	double *arr = new double[n];

	if (option == 1) {
		for (i = 0; i < n; i++) {
			cout << "arr[" << i << "]=";
			cin >> arr[i];
		}
	}
	else if (option == 2) {
		cout << "Enter lower diapason: ";
		cin >> first_diap;
		cout << endl << "Enter higher diapason: ";
		cin >> end_diap;
		srand(unsigned(NULL));
		for (i = 0; i < n; i++) 
		{

			arr[i] = rand() % (end_diap - first_diap + 1) + first_diap;
			cout << arr[i] << " ";
		}
	}
	double min = arr[0];
	for (i = 0; i < n; i++) 
	{
		if (arr[i] < min) 
		{
			min = arr[i];
		}
	}
	cout << "Minimal element in array: " << min << endl;
	{
		for (j = n - 1; j >= 0 && arr[j] <= 0; j--)
		if ((arr[j]>0) && (--j>i))
			while (j>i)
			{

				sum += arr[j--];
			}
	}
	cout << "Count sum between first and last pozitive elements: " << sum << endl;

for (i = j = n - 1; i >= 0; --i)
	{
		if (arr[i] != 0)
		{
			if (i != j)
				arr[j] = arr[i];
			--j;
		}
	}
	for (i = 0; i <= j; i++)
		arr[i] = 0;

	cout << endl;
	cout << "New array= " << endl;
	for (i = 0; i < n; i++)
	{
		cout << arr[i] << " ";
	}
	return 0;
}
Изображения
Тип файла: jpg Jauns.jpg (41.5 Кб, 115 просмотров)

Последний раз редактировалось Stilet; 17.12.2015 в 10:40.
Joesidorov вне форума Ответить с цитированием
Старый 17.12.2015, 01:52   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
source_file.cpp(39): error C2371: 'min': redefinition; different basic types
source_file.cpp(9): note: see declaration of 'min'
source_file.cpp(47): error C2088: '<<': illegal for class
Код:
int main()
{
int option, n, i, j, sum, min, first_diap, end_diap; // <--- вы видите переменную min ?
Код:
}
double min = arr[0];    //<---- а здесь видите?
for (i = 0; i < n; i++) 
{
в рамках одной функции
вы не можете объявить две разные переменные с одним и тем же именем
о чем на чистом английском вам сообщил компилятор,
и даже указал конкретные строки в коде.
_Bers вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание на массив (Язык Си) Vlad135 Помощь студентам 2 31.10.2013 00:09
Задание на массив , матрица 10*10 Aleksandr litvinch Паскаль, Turbo Pascal, PascalABC.NET 2 20.10.2013 22:51
задание про одномерный массив! GreenMan Паскаль, Turbo Pascal, PascalABC.NET 2 16.02.2012 17:48
немогу понять задание на массив rostik123 Общие вопросы C/C++ 4 19.10.2011 21:23
задание через массив по С++... AvengerAndrew Помощь студентам 8 23.10.2010 13:12