Форум программистов, компьютерный форум CyberForum.ru

Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Инвертирование односвязного списка в с++ http://www.cyberforum.ru/cpp-beginners/thread1099717.html
Помогите решить проблему: нужно инвертировать односвязный список в с++ (задом на перед). Вот написал функцию. По логике вроде все правильно, а на практике выводит мусор... void obr(TStud *&Start){ TStud *End, *wp; End = new TStud; End=Start; Start=Start->next; End->next= NULL; for(;Start->next!=NULL;){
C++ Описать структуру с именем TRAIN 1. Определить класс с именем TRAIN, содержащий следующие поля: О название пункта назначения; О номер поезда; О время отправления. Определить методы доступа к этим полям и перегруженные операции извлечения и вставки для объектов типа TRAIN. 2. Написать программу, выполняющую следующие действия: О ввод с клавиатуры данных в массив, состоящий из шести объектов типа TRAIN; записи должны быть... http://www.cyberforum.ru/cpp-beginners/thread1099714.html
The variable is "da" being used without being defined C++
#include <iostream> #include <iomanip> using std::cout; using std::cin; using std::endl; int main() { setlocale( LC_ALL,"Russian"); int r,v;
Как сгенерировать 100 чисел, разница чисел должна быть или -1 или +1 C++
Как сгенерировать 100 чисел, разница чисел должна быть или -1 или +1 (например: 0 -1 0 1 2 1 0 1 0 -1 -2 ....) и если вероятность следующего числа 0,6 то +1, если вероятность 0,4 то -1?
C++ Сделать так, чтобы круг перемещался при нажатии комбинации клавиш http://www.cyberforum.ru/cpp-beginners/thread1099675.html
//хочу сделать так чтобы круг пошел в бок при комбинации клавиш (w+d) (w+a) (s+a)(s+d) #include <stdlib.h> #include <iostream.h> #include <conio.h> #include <dos.h> #include <math.h> #include <graphics.h> void main() { int gdriver=DETECT,gmode,errorcode;
C++ Обнулить элементы матрицы, равные максимальному и минимальному Обнулить элементы матрицы, равные максимальному и минимальному подскажите что нужно исправить чтобы не обнуляло всю матрицу а только необходимые элементы #include <iostream> #include <ctime> using namespace std; int main() { int sum=0; int min =0; подробнее

Показать сообщение отдельно
alucard115
10 / 1 / 1
Регистрация: 07.05.2013
Сообщений: 67
19.02.2014, 16:32     Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1
В одномерном массиве, состоящей из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
3) Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом - все остальные.

Код
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <locale> 

using namespace std;

double minElem(double *arr, int n);
double summElem(double *arr, int n);

int main() {
	int n = 0;
	
	setlocale(0, "rus");
	srand((unsigned)time(NULL));

	cout << "Введите количество элементов: ";
	cin >> n;

	double *arr = new double [n];
	
	for(int i = 0; i < n; i++) {
		 arr[i]=rand() % 20 - 10;
		cout << " [" << i << "] = ";
		cout << arr[i];
	}
	cout << "\n Минимальный элемент: " << minElem(arr, n) << endl;
	cout << "\n Сумма элементов: " << summElem(arr, n) << endl;
	delete [] arr;
	
	system("PAUSE");
	return 0;
}

double minElem(double *arr, int n) 
{
	double min = arr[0];

	for(int i = 1; i < n; i++) {
		if(arr[i] < min)
			min = arr[i];
	}
	return min;
}

double summElem(double *arr, int n)
{
	double summ = 0.0;
	bool flag = false;	// Флаг
	int begin = 0;
	int end = 0;	

	for(int i = 0; i < n; i++) {
		if(arr[i] < 0 && !flag) {
			begin = i;
			flag = true;
		}
		else if(arr[i] < 0 && flag) {
			end = i;
			break;
		}
	}
	
	for(int i = begin + 1; i < end; i++) {
		summ += arr[i];
	}
	return summ;
}
Первые 2 подпункта сделаны, все работает. Помогите пожалуйста сделать 3 подпункт. и еще, как оформить, чтобы каждый подпункт был как функция, и вся задача целиком была структурой?

Добавлено через 23 часа 25 минут
помогите пожалуйста...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru