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

Массив целых чисел ... - C++

Восстановить пароль Регистрация
 
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.12.2011, 17:24     Массив целых чисел ... #1
1) В задаче нужно сделать так, чтобы если человек вводит отрицательное число, оно заменялось на -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
#include <iostream>
using namespace std;
 
int main()
{
        setlocale(LC_ALL, "rus");
        long i,j,k,m,n,buf;
        long * a;//Указатель на элементы последовательности
        do
        {
                cout<<"Введи число элементов : ";cin>>n;//Ввели число элементов
                a = new long[n];//Память под элементы последовательности
                cout<<"\tВведите последовательность\n";
                                cout<<"a["<<1<<"] = ";
                                cin>>a[0];m = a[0];
                //Вводим последовательность
                for(i = 1; i < n; i++)
                                {
                                        cout<<"a["<<i + 1<<"] = ";
                                        cin>>a[i];
                                        if(m < a[i])
                                                m = a[i];
                                }
                                cout<<"Предел последовательности : "<<m<<endl;
                cout<<"\tОтсортированная последовательность\n";
                //Cортируем методом прямого выбора
                for(i = 0, k = 0; i < n; i++)
                {
                        for(j = i + 1; j < n; j++)
                        {
                                if(a[j] < a[i])
                                {
                                        buf = a[i];
                                        a[i] = a[j];
                                        a[j] = buf;
                                        k++;//Счётчик операций
                                }
                        }
                        cout<<"a["<<i + 1<<"] = "<<a[i]<<"\n";
                }
                cout<<"Кол-во операций : "<<k<<"\n";
                cout<<"Сумма m + n   : "<<m + n<<"\n";
                delete [] a;//Чистим память
                cout<<"Введите 1 для продолжения \n";
                cin>>n;
        }
        while(n == 1);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 17:24     Массив целых чисел ...
Посмотрите здесь:

Сформировать одномерный массив целых чисел, используя датчик случайных чисел, и распечатать массив. Удалить из массива все элементы, совпадающие с его C++
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
Дан двумерный массив целых чисел, найти количество чисел, кратных N C++
C++ 2)Дан массив из N целых чисел. Получить из него массив отрицательных чисел и отсортировать его по возрастанию методом выбора
C++ 2)Дан массив из N целых чисел. Получить из него массив отрицательных чисел и отсортировать его по возрастанию методом выбора
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Theoryofgames
 Аватар для Theoryofgames
251 / 235 / 48
Регистрация: 20.12.2011
Сообщений: 705
20.12.2011, 17:41     Массив целых чисел ... #2
Может быть я Вас неправильно понял, но функция abs(n) возвращает число по модулю - т.е. достаточно после ввода пользователем числа просто вызывать эту функцию.

или, если Вам нужно, чтобы возвращался именно -1, то достаточно просто сделать условие проверки
C++
1
2
3
4
if (a[i] < 0) 
{
  a[i] = -1;
}
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.12.2011, 17:49  [ТС]     Массив целых чисел ... #3
Благодарю. Вот только про abs(n) не понял)
Theoryofgames
 Аватар для Theoryofgames
251 / 235 / 48
Регистрация: 20.12.2011
Сообщений: 705
20.12.2011, 17:53     Массив целых чисел ... #4
abs(a[i]) - это в случае, если вам нужно бы было не -1 вместо числа подставлять, а его обратное значение - т.е. не -10, а 10, не -5, а 5.
Yandex
Объявления
20.12.2011, 17:53     Массив целых чисел ...
Ответ Создать тему
Опции темы

Текущее время: 03:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru