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

Для массива с максимальной суммой переместить положительные элементы в начало - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ _splitpath что делает? http://www.cyberforum.ru/cpp-beginners/thread1726238.html
Что такое, с чем его едят, когда применяется и о параметрах.
C++ Какие типы строк лучше использовать Недавно начал учить строки и увидел, что в С++, в отличии от Паскаля для каждого типа строк ( я нашёл только char,char*,string ) есть функции (методы для string), но мне как новичку хотелось бы сосредоточиться на чём-то одном, чтобы пока не учить для каждого функции. В Паскале я встречался со случаями, когда лучше было использовать именно массив чаров, а не string, но сначала я сосредоточился... http://www.cyberforum.ru/cpp-beginners/thread1726226.html
Написать функцию, находящую корни уравнения методом хорд с использованием указателей C++
Написать функцию, находящую корни уравнения методом хорд. Аргументы этой функции: указатель на функцию, задающую уравнение; интервал ; точность ε. Найти корни следующих уравнений: (x-1)^2/(x-1)-10 = 0 10(sin)^2(x/10)-5 = 0 x^3-130 = 0
C++ Передать значение из одной функции в другую
Нужно значение max передать в другую функцию Потерялся в указателях :С int MaxEvaluation(Abiturient mas, int x, double *max ){ cout << "Максимальный бал:" << endl; *max=mas.built.marks1+mas.built.marks2+mas.built.marks3; for (int j = 0; j < x; j++){ int tempJ = mas.built.marks1+mas.built.marks2+mas.built.marks3; if (*max<tempJ) *max=tempJ; }
C++ Разобраться в небольшой функции http://www.cyberforum.ru/cpp-beginners/thread1726200.html
Здравствуйте, нужно разобраться в этой функции. Заранее спасибо. ifs >> big >> n; istream& operator>>(istream& ifs, BigInt& big) { string str; ifs >> str; big.digits.clear(); //что здесь происходит? Вроде какая та чистка от мусора. for (int i = str.length() - 1; i >= 0; --i) big.digits.push_back(str - '0'); //для чего нужен этот цикл?
C++ Запись двух массивов в файл День добрый, в плюсах немного краб, дальше создания массивов еще не пошел, а тут появилась нужда написать программу, которая будет вычислять какие-то значения и вбивать их в текстовый файл. Суть такова - надо значения из двух массивов забить в файл в столбик, да чет не выходит. Помогите советом че как исправить #include "iostream" #include "math.h" #include "fstream" using namespace std;... подробнее

Показать сообщение отдельно
lawr
359 / 253 / 122
Регистрация: 09.05.2014
Сообщений: 761
04.05.2016, 14:33     Для массива с максимальной суммой переместить положительные элементы в начало
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
#include <iostream>
#include <cstdlib>
#include <ctime>
void NewArray (int Arr[], int size){
    for (int i=0; i<size; i++)
    {
        Arr[i]=rand()%90+10;
        if (rand()%2==0)
            Arr[i]*=-1;
        }
}
void ShowArray (int Arr[], int size){
    for (int i=0; i<size; i++)
        std::cout<<Arr[i]<<' ';
    std::cout<<std::endl;
}
int Sum (int Arr[], int size){
    int sum=0;
    for (int i=0; i<size; i++)
        sum+=Arr[i];
    return sum;
}
void Transposition(int Arr[], int size){
    for (int i=1; i<size; i++)
        if (Arr[i]<0)
        {
            int j=i;
            while (Arr[j-1]>=0){
                int temp=Arr[j];
                Arr[j]=Arr[j-1];
                Arr[j-1]=temp;
                j--;
            }
        }
}
int main(){
    const int a=20, b=30, c=40;
    int A[a], B[b], C[c], sum_a=0, sum_b=0, sum_c=0;
    srand(time(0));
    NewArray(A, a);
    NewArray(B, b);
    NewArray(C, c);
    std::cout<<"A: ";
    ShowArray(A, a);
    std::cout<<"B: ";
    ShowArray(B, b);
    std::cout<<"C: ";
    ShowArray(C, c);
    sum_a=Sum(A, a);
    sum_b=Sum(B, b);
    sum_c=Sum(C, c);
    std::cout<<"max sum in ";
    if (sum_a>=sum_b&&sum_a>=sum_c){
        std::cout<<"A. after transposition:\n";
        Transposition (A, a);
        ShowArray (A, a);
    }
    else if (sum_b>=sum_c){
        std::cout<<"B. after transposition:\n";
        Transposition (B, b);
        ShowArray (B, b);
    }
    else {
        std::cout<<"C. after transposition:\n";
        Transposition (C, a);
        ShowArray (C, a);
    }
    system ("pause");
    return 0;
}
 
Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru