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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ работа с внешними ресурсами http://www.cyberforum.ru/cpp-beginners/thread1108688.html
Написать программу копирования содержимого текстового файлав конец другого файла. Написать программу для Windows по созданию окна, куда бы выводилась текстовая информация. Заранее спасибо.
C++ Графика Товарищи программисты помогите с задачей пожалуйста, что бы работала в Visual Studio 2010. Написать программу, которая выводит на экран точечный график функции y= 2^x. Диапазон изменения аргумента – от -5 до 5, шаг аргумента – 0.5. График вывести на фоне координатных осей , точка пересечения которых должна находиться в центре экрана. http://www.cyberforum.ru/cpp-beginners/thread1108682.html
Используя рекурсию, перемножить 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность C++
Программа должна перемножать 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность(помогите написать хотя бы рекурсивную функцию я то я вообще не могу вьехать))
Блочная сортировка C++
В данной программе происходит сортировка фамилий по алфавиту.Мне же требуется сортировка всего массива структур. То есть структуры должны стоять в том порядке, в котором должны стоять(по алфавиту) фамилии. Подскажите пожалуйста как это реализовать в коде. Заранее спасибо) #include <iostream> #include <conio.h> #include <string.h> using namespace std; struct student {
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread1108673.html
#include<iostream.h> #include<conio.h> #include<math.h> //using namespace std; int main(void){ double x=1; double hx=0.5; double a=-0.5; double ha=0.2; double f;
C++ Редактирование текста в консоли Подскажите с помощью чего можно реализовать простой редактор текста прямо в консоли? Библиотека какая-то есть мб? Например, прочитал текст из файла, вывел в консоль. Нужна возможность стрелками ходить курсором по тексту и добавлять или удалять символы, выделять текст, вставлять новые строки. подробнее

Показать сообщение отдельно
alucard115
10 / 1 / 1
Регистрация: 07.05.2013
Сообщений: 67
02.03.2014, 14:10  [ТС]     Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1
Всем спасибо, вот готовый вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <locale> 
 
using namespace std;
 
double minElem(double *arr, int n);
double summElem(double *arr, int n);
void preobr(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;
    cout << "\n Преобразованный массив:"<<endl;
    preobr(arr, n);
     for(int i = 0; i < n; i++) {
        
        cout << " [" << i << "] = ";
        cout << arr[i]<<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;
}
 
 
void preobr(double *arr, int n)
{
int k=0;
double buf;
for(int i=0;i<n;i++)
if(abs(arr[i])<=1)
{
buf=arr[k];
arr[k]=arr[i];
arr[i]=buf;
k++;
 
}
 
}
 
Текущее время: 09:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru