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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 286
#1

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

07.12.2011, 12:38. Просмотров 256. Ответов 5
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
 
int main()
{
        setlocale(LC_ALL, "rus");
        //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;
}
Нужно сделать, чтобы если человек вводит числа в массив, например (1 2 3 -5 -7 6 9 8 4 0) и отрицательные числа должны заменяться на -1 т.е: Получется отсортированный массив:
-1
-1
0
1
2
3
4
6
8
9
т.е. Чтобы на том м есте где должны находится числа -5 и -7 они заменялись на -1.
А препод вообще просит например, если массив размерности 8 и вводится 4 числа: 0 4 1 7, чтобы выдавало массив :
0
1
-1
-1
4
-1
7
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 12:38     Массив целых чисел...
Посмотрите здесь:

C++ Массив целых чисел.
массив целых чисел. C++
Динамический массив из целых чисел C++
массив целых чисел C++
массив целых чисел C++
C++ Массив целых чисел
C++ Массив целых чисел ...
C++ массив целых чисел
Опишите массив 30 действительных чисел, матрицу 6Х6 целых чисел, 256 символов C++
Массив из 20 целых чисел. Подсчитать количество четных чисел C++
Массив целых чисел C++
Переделать массив целых чисел на массив вещественных чисел C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.12.2011, 12:56     Массив целых чисел... #2
Цитата Сообщение от DebieCooepr Посмотреть сообщение
А препод вообще просит
этого не понял

А так вот
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
#include <iostream>
 
 
int arr_cmp (const void *a, const void *b)
{
    return * (int *) a - * (int *) b;
}
 
void print (int *arr, size_t size)
{
    for (int i = 0; i < size; i++)
        std::cout<<arr[i]<<"  ";
}
 
int main(int argc, char* argv[])
{
    int arr[] = { 1, 2, 3, -5, -7, 6, 9, 8, 4, 0};
    size_t size = sizeof (arr) / sizeof (arr[0]);
 
    print (arr,size);
 
    qsort (arr,size,sizeof (arr[0]),arr_cmp);
 
    std::cout<<std::endl;
 
    for ( int i = 0 ; arr[i] < 0 && i < size ; i++)
        arr[i] = -1;
 
    print (arr,size);
 
        std::cout<<std::endl;
 
    system  ("pause");
    return 0;
}
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 286
07.12.2011, 13:04  [ТС]     Массив целых чисел... #3
Прога должна быть универсально чтобы пользователь сам вводил сови числа. Это всё у меня есть, я только не знаю что с отрицательными числанми делать т.к сам задание :
Имеется массив целых чисел a[1]...a[n], причём вс е числа НЕОТРИЦАТЕЛЬНЫ и не превосходят m. Отсортировать этот массив; число действий порядка m+n
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.12.2011, 13:07     Массив целых чисел... #4
Цитата Сообщение от DebieCooepr Посмотреть сообщение
Прога должна быть универсально чтобы пользователь сам вводил сови числа.
Переделайте мою, там только ввод добавить, это две строчки


Цитата Сообщение от DebieCooepr Посмотреть сообщение
Имеется массив целых чисел a[1]...a[n], причём вс е числа НЕОТРИЦАТЕЛЬНЫ и не превосходят m. Отсортировать этот массив; число действий порядка m+n
Какое-то задание странное, не такое как первое


Цитата Сообщение от DebieCooepr Посмотреть сообщение
и отрицательные числа должны заменяться на -1 т.е: Получется отсортированный массив:
-1
-1
0
1
2
3
4
6
8
9
Просили это?
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 286
07.12.2011, 13:22  [ТС]     Массив целых чисел... #5
Цитата Сообщение от go Посмотреть сообщение
Просили это?
Это я к приперу привел.
Вообще я делаю по свойму и мне осталось только что-то сделать с отрицательными числами если их введёт пользователь.
Может отрицательные числа просто удалить или ещё что-нибудь.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.12.2011, 13:23     Массив целых чисел... #6
Цитата Сообщение от DebieCooepr Посмотреть сообщение
и мне осталось только что-то сделать с отрицательными числами если их введёт пользователь
26-27 строчка в моем примере
Yandex
Объявления
07.12.2011, 13:23     Массив целых чисел...
Ответ Создать тему
Опции темы

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