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

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

Войти
Регистрация
Восстановить пароль
 
-Daria-
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 11
#1

Массивы - C++

18.10.2013, 11:32. Просмотров 219. Ответов 3
Метки нет (Все метки)

С первым пунктом понятно, а как дальше?

а) Заполнить массив из 15 элементов случайными целыми числами в диапазоне [–90; 90] и напечатать их в одну строку.
б) Упорядочить массив так, чтобы вначале шли все отрицательные элементы, затем нули (если они есть), а потом все положительные.
в) Упорядочить массив по возрастанию модулей элементов.
г) Упорядочить массив так, чтобы вначале шли чётные элементы, а потом все нечётные.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
const int MSIZE = 15;
 
int main()
{
    int mas[MSIZE];
    srand (time (0));
    for (int i = 0; i < MSIZE; ++i) {
        mas[i] = (rand()%181) - 90;
        cout<<mas[i]<<" ";
    }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 11:32     Массивы
Посмотрите здесь:

C++ Массивы
C++ Массивы
C++ Массивы
C++ Массивы
Массивы C++ C++
массивы C++
C++ Массивы
Массивы C++
массивы C++
Массивы C++
Массивы C++
C++ Массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
18.10.2013, 11:51     Массивы #2
-Daria-, пункт б это же вроде простая сортировка по возрастанию?
пункт в, почти то же самое, но элементы будут сравниваться по модулю
SHSerg
58 / 58 / 10
Регистрация: 01.11.2012
Сообщений: 282
18.10.2013, 11:57     Массивы #3
б)
C++
1
2
3
for(int i=1;i<MSIZE;i++)     
    for(int j=i;j>0 && mas[j-1]>mas[j];j--) // пока j>0 и элемент j-1 > j, x-массив int
            swap(mas[j-1],mas[j]);        // меняем местами элементы j и j-1
в)
C++
1
2
3
for(int i=1;i<MSIZE;i++)     
    for(int j=i;j>0 && abs(mas[j-1])>abs(mas[j]);j--) // пока j>0 и модуль элемента j-1 > модуля j, x-массив int
            swap(mas[j-1],mas[j]);        // меняем местами элементы j и j-1

г)
C++
1
2
3
for(int i=1;i<MSIZE;i++)     
    for(int j=i;j>0 && mas[j-1]%2=0 && mas[j]%2!=0;j--) // пока j>0 и элемент j-1 четный, а j не четный, x-массив int
            swap(mas[j-1],mas[j]);        // меняем местами элементы j и j-1
zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
18.10.2013, 12:13     Массивы #4
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <math.h>
using namespace std;
 
const int MSIZE = 15;
 
int main()
{
    int mas[MSIZE];
    srand (time (0));
    for (int i = 0; i < MSIZE; ++i) {
        mas[i] = (rand()%181) - 90;
        cout<<mas[i]<<" ";
    }
    int a;
    cout << " ---- " << endl;
    for (int i = 0; i < MSIZE - 1; i ++ )
        for (int j = 0; j < MSIZE - i; j++)
            if (mas[j] > mas[j+1])
            {
                a = mas[j+1];
                mas[j+1] = mas[j];
                mas[j] = a;
            }
 
    for (int i =0; i < MSIZE; i++)
        cout << mas[i] << "  ";
    cout << " ---- " << endl;
 
    for (int i = 0; i < MSIZE - 1; i ++ )
        for (int j = 0; j < MSIZE - i; j++)
            if (abs(mas[j]) > abs(mas[j+1]))
            {
                a = mas[j+1];
                mas[j+1] = mas[j];
                mas[j] = a;
            }
    for (int i =0; i < MSIZE; i++)
        cout << mas[i] << "  ";
    cout << " ---- " << endl;
 
    for (int i = 0; i < MSIZE - 1; i ++ )
        for (int j = 0; j < MSIZE - i; j++)
            if (mas[j+1] % 2 == 0)
            {
                a = mas[j+1];
                mas[j+1] = mas[j];
                mas[j] = a;
            }
    for (int i =0; i < MSIZE; i++)
        cout << mas[i] << "  ";
    cout << " ---- " << endl;
    cin.get();
    return 0;
}
Yandex
Объявления
18.10.2013, 12:13     Массивы
Ответ Создать тему
Опции темы

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