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

Найти номер минимального по модулю элемента массива, сумму модулей элементов, сжать. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ write http://www.cyberforum.ru/cpp-beginners/thread936683.html
Нужно записать данные контейнера в файл: #include<iostream> #include<string> #include<vector> #include<fstream> #include<iterator> #include<algorithm> using namespace std; class Store {
C++ Создание переменных в цикле Здравствуйте, меня интересует вопрос - насколько операция создания переменных быстра. есть функция рендеринга, которая выполняется несколько сотен раз в секунду, стоит ли выносить временные переменные за функцию, или это практически не имеет смысла? например вместо void Camera::Render() { int a = ...; int b = ...; ..... } http://www.cyberforum.ru/cpp-beginners/thread936681.html
Кракозябры в консоли - почему? C++
Добрый день. Почитав форум и статью про кодировки вообще я задался парой вопросов. Ладно, мне более менее ясно, почему возникают кракозябры (win1251 -> OEM 866). Но неясно 2 момента: 1) Почему при вызове функции setlocale(LC_ALL, "Russian") работает вывод (и почему вообще это происходит?), но не работает ввод? 2) Почему при SetConsoleCP(1251) и SetConsoleOutputCP(1251) работает ввод и вывод, но...
C++ Узнать начало файла
Как узнать начало файла? ( Указатель на память )
C++ Защита флеш накопителя http://www.cyberforum.ru/cpp-beginners/thread936636.html
Наткнулся на прогу по защите флеш накопителей. Алгоритм очень прост, активируете - и ВСЯ память до 0 флешки заполняется, деактивируете и можно записывать на флешку, память восстанавливается. Есть баг, после активации окошко exe не закрывается, захотел написать самостоятельно. Вопрос вот в чем, как можно на С++ сделать так, чтобы прога заполнила всю память локального или съемного диска, в...
C++ Отправка почты из формы Я могу программой отправлять собранные данные на почтовый адрес, к примеру, *@yandex.ru? И как мне это реализовать? Я создаю клиент для игры, и в его функционал будет входить отправка статистической информации о количестве загрузок, выбранных параметрах, и т. п. Предупрежу: mailto работает не совсем так, как хотелось бы. подробнее

Показать сообщение отдельно
graviq
Сообщений: n/a

Найти номер минимального по модулю элемента массива, сумму модулей элементов, сжать. - C++

11.08.2013, 21:54. Просмотров 1416. Ответов 1
Метки (Все метки)

Помогите пожалуйста доделать задачу.Нужно если последний элемент массива был отрицательный и он один отрицательный в этом массиве,чтобы выводило сообщение что сумма не может быть посчитана.

Найти номер минимального по модулю элемента массива.
Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента.
Сжать массив, удалив из него все элементы, величина которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.

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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <cmath>
using namespace std;
int main ()
{
setlocale (LC_CTYPE, "Russian");
int n,min,u,Q,W;
int i, k=0;
cin >> n;
if(cin.fail()||n<=0)
            {
                cout<<"Вы ввели неверный символ";
             _getch();
            return 0;
            }
double *a = new double [n];
double *v = new double [n];
cout <<"Введите элементы массива\n";
for (int i=0; i<n; i++)
cin >> a[i];
if(cin.fail()||n<=0)
            {
                cout<<"Вы ввели неверный символ";
             _getch();
            return 0;
            }
int a_min=0;
min=abs(a[0]);
for(i=0;i<n;i++)
if(abs(a[i])<min)
{
min=a[i];
a_min=i;
}
cout<<"номер минимального элемента "<<a_min+1<<"\n";
int c;
bool b=false;
for (int i=0; i<n; i++)
{
if (a[i]<0)
{
if (!b)
{
u=i; b=true;
}
}
}
double sum=0;
for ( i=u+1; i<n; i++)
sum+=abs(a[i]);
if (b==false)
cout <<"\nотрицательного элемента нет\n";
else
cout <<"\nсумма после первого отрицательного " << sum << endl;
cout<<"Введите интервал: \n\n a = ";
cin >> Q;
cout << " b = "; cin >> W;
for(int i=0;i<n;i++)
{
if((Q>( a[i])) || ((a[i]>W)))
{
v[k]=a[i];
k++;
}
}
for(i=k;i<n;i++)
v[i] = 0;
cout << endl;
cout<<"Преобразованный массив:" << endl;
cout << "\r\n";
for( int i=0; i<n; i++)
cout << v[i]<<" ";
_getch();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru