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

Найти сумму отрицательных элементов массива и порядочить элементы массива по возрастанию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe" http://www.cyberforum.ru/cpp-beginners/thread991715.html
Захожу на сайт хочу скачать codeblocks чтобы на нем изучать си++ , толька н могу понять разницы там для виндовс есть четыре файла вот они codeblocks-12.11-setup.exe codeblocks-12.11-setup_user.exe codeblocks-12.11mingw-setup.exe codeblocks-12.11mingw-setup_user.exe В чем их разница, каковы их функции?
C++ С++ Описать рекурсивную функцию ROOT: Задача. - Описать рекурсивную функцию ROOT (a,b,eps), которая методом деления отрезка пополам находит с точностью eps корень уравнения f(x) = 0 на отрезке |a,b|. (Считать, что eps>0, a<b, f(a)*f(b)<0 и f(x) - непрерывная и монотонная на отрезке (a,b) функция). http://www.cyberforum.ru/cpp-beginners/thread991714.html
Написала программу, выводит ошибку, подскажите как исправить C++
Вот сама задача:Вычислить и вывести на экран значения функции y = f(x) в точках x0=xнач, x1=x0+h, x2=x1+h, … xN = xкон, где h =(xкон – xнач)/N. Функция y = f(x) зависит от параметра a. Вид функции y = e^x+1.7*a
C++ Вводится предложение. Подсчитать количество слов и подсчитать количество букв в самом длинном слове
Неправильно считает количество букв в наибольшем слове. #include <iostream> #include <cstdio> #include <cstring> using namespace std; void main() { const int size = 80;
C++ Верхний регистр,нижний регистр http://www.cyberforum.ru/cpp-beginners/thread991663.html
Помогите написать код для программы=/ Вообщем пользователь программы вводит текст/строку а программа выводит эту строку сначала в верхнем регистре , потом в нижнем , а потом заборчиком (то бишь сначала буква верхнего регистра , потом нижнего, потом опять верхнего и т.д.) подскажите пожалуйста=/ мне немного объяснили и я сам в инете прочитал что нашел... #include <iostream>...
C++ Преобразование строки в массив #include <cstdio> #include <cctype> #include <iostream> #include <cmath> #include "QTime" void stuToArr(char s, int ar, int&size); using namespace std; int main(){ char s; int ar , size; подробнее

Показать сообщение отдельно
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
29.10.2013, 17:52     Найти сумму отрицательных элементов массива и порядочить элементы массива по возрастанию
Код для Microsoft Visual C++ 2010 Express

заголовочный файл stdafx.h
C++
1
2
3
4
5
6
7
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
#include <iostream>
Код программы
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
#include "stdafx.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    const int n = 20;
    double arr[n] = {-1.50, 3.12, -0.15, 1.17, 7.77, -6.27, 2.78, 5.09, -9.31, -2.99, 0.75, 8.54, -9.31, 4.27, 3.12, 0.10, -9.46, 3.82, 8.14, -3.64};
 
    double sum = 0;
    for (int i = 0; i < n; ++i)
    {
        if (arr[i] > 0) continue;
        sum += arr[i];
    }
 
    cout << "Сумма отрицательных элементов массива sum = " << sum << endl;
 
    double min = arr[0];
    int minPos = 0;
    double max = arr[0];
    int maxPos = 0;
 
    for (int i = 0; i < n; ++i)
    {
        if (min > arr[i]) { min = arr[i]; minPos = i;}
        if (max < arr[i]) { max = arr[i]; maxPos = i;}
    }
 
    if (minPos == maxPos)
    {
        cout << "Максимальный и минимальный элемент находятся на соседних позициях" << endl; 
    }
    else 
    {
        double product = 1.0;
        
        if (minPos > maxPos)
        {
            int tempPos = minPos;
            minPos = maxPos;
            maxPos = tempPos;
        }
        
        for (int i = minPos + 1; i < maxPos; ++i)
        {
            product *= arr[i];
        }
        cout << "Произведение элементов массива между максимальным и минимальным product = " << product << endl;
    }
 
    for (int i = 0; i < n - 1; ++i)
    {
        int min = i;
        for (int j = i + 1; j < n; ++j)
        {
            if(arr[min] < arr[j]) continue;
            min = j;
        }
        if (min != i)
        {
            double temp = arr[i];
            arr[i] = arr[min];
            arr[min] = temp;
        }
    }
 
    cout << "Отсортированный по возрастанию массив: " << endl;
    for (int i = 0; i < n; ++i)
    {
        cout << arr[i] << " ";
    }
    cout << endl;
 
    system("PAUSE");
    return 0;
}
 
Текущее время: 13:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru