Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Oleg1423
-21 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 2
#1

Обработка одномерного массива. Сделайте, пожалуйста, попроще - C++

05.11.2015, 15:23. Просмотров 288. Ответов 5
Метки нет (Все метки)

в одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) количество элементов массива, равных 0;
2) сумму элементов массива, расположенных после минимального элемента.
Упорядочить элементы массива по возрастанию модулей элементов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2015, 15:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка одномерного массива. Сделайте, пожалуйста, попроще (C++):

Обработка одномерного массива - C++
задан масив A(n),n<=15 целого типа.Сформировать вектор M с элементов A которые больше своих соседей то есть ai>ai-1 и ai>ai-1/ Выполнить...

Обработка одномерного массива - C++
3. Программа с динамическим выделением памяти. Программа не работает, если не было введено ни одного отрицательного числа. Есть...

Обработка одномерного массива - C++
Помогите, пожалуйста, с решением 3 задач: 1. Выведите все элементы массива с четными индексами (то есть A, A, A, ...). 2. Выведите все...

Обработка одномерного массива - C++
В одномерном массиве состоящим из n элементов вычислить: 1) минимальный по модулю элемент массива 2) сумму модулей элементов массива...

Создание и обработка одномерного массива - C++
Очень надеюсь на помощь. Преподаватель толком нам ничего не объясняет, а задания дает. У меня возникают трудности с созданием массива....

Сортировка и обработка одномерного массива - C++
Помогите решить Дан массив A размера N (≤6). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить...

5
AlexKolc
118 / 159 / 67
Регистрация: 14.09.2013
Сообщений: 302
05.11.2015, 16:24 #2
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
#include <iostream>
#include <cmath>
#include <algorithm>
 
using namespace std;
 
const int q = 1000;
 
bool comp(double i, double j) {
    return abs(i) < abs(j);
}
 
int main(void) {
    double a[q], min, sum;
    int n, countZero;
    cout << "Enter N: ";
    cin >> n;
    cout << "Enter array a:\n";
    sum = countZero = 0;
    min = 1000000000;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        if (a[i] == 0)
            countZero++;
        if (a[i] < min) {
            min = a[i];
            sum = 0;
        } else
            sum += a[i];
    }
    cout << "Сount zero: " << countZero << endl;
    cout << "Sum before min: " << sum << endl;
    sort(a, a + n, comp);
    cout << "Sorted array:\n";
    for (int i = 0; i < n; i++)
        cout << a[i] << ' ';
    cout << endl;
    return 0;    
}
0
Bespridelschic
45 / 45 / 17
Регистрация: 31.07.2013
Сообщений: 377
Завершенные тесты: 6
05.11.2015, 16:31 #3
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
#include <iostream>
#include <iomanip>
 
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    std::cout << "Введите размер массива: ";
    std::cin >> n;
    int *a = new int[n], i;
    std::cout << "Введите " << n << " элементов:\n";
    for (i = 0; i < n; i++)
    {
        std::cout << "a[" << i + 1 << "]: ";
        std::cin >> a[i];
    }
    int count_null = 0;
 
    // Задание №1 расчёт количества нулевых элементов
    for (i = 0; i < n; i++)
    {
        if (a[i] == 0)
        {
            count_null++;
        }
    }
    std::cout << "Количество нулевых элементов = " << count_null << std::endl << std::endl;
 
    // Задание №2 расчет суммы элементов после минимального элемента
    int min = a[1], min_i = 0;
    for (i = 1; i < n; i++)
    {
        if (a[i] < min)
        {
            min = a[i];
            min_i = i;
        }
    }
    min_i++;
    int sum = 0;
    for (i = min_i; i < n; i++)
    {
        sum += a[i];
    }
    std::cout << "Сумма элементов массива расположенных после минимального элемента = " << sum << std::endl << std::endl;
 
    // Задание №3 сортировка массива по возрастанию модулей
    int j;
    for (i = 0; i < n; i++)
    {
        for (j = n - 1; j > i; j--)
        {
            if (fabs(a[j]) < fabs(a[j - 1]))
            {
                int temp = a[j];
                a[j] = a[j - 1];
                a[j - 1] = temp;
            }
        }
    }
    std::cout << "Сортированный массив по возрастанию:\n\n";
    for (i = 0; i < n; i++)
    {
        std::cout << std::setw(3) << a[i];
    }
    std::cout << std::endl << std::endl;
    system("Pause >> 0");
    return 0;
}
0
iamzilberman
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 9
10.11.2015, 21:36 #4
Первое, думаю, можно так реализовать. Переменная counter и будет считать количество этих элементов.

C++
1
2
3
4
5
6
double mas [n];
int counter = 0;
for (int i = 0; i<n; i++)
if (mas[i]==0)
counter++;
cout<<counter<<endl;
0
AntonIv
21 / 15 / 4
Регистрация: 19.10.2015
Сообщений: 61
10.11.2015, 22:09 #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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    const int aSIZE = 10;
    int a[aSIZE];
 
    srand(time(nullptr));
    for (int i = 0; i < aSIZE; ++i)
        cout << (a[i] = 1 + rand() % 100) << ' '; // Ініціалізація масива
 
    int min         = 0;    // Мінімальний елемент (індекс)
    int zeroCount   = 0;    // Кількість нулів
    int sum         = 0;    // Сумма
 
    for (int i = 0; i < aSIZE; ++i)
    {
        if (a[i] < a[min])  min = i;        // Пошук мінімального
        if (a[i] == 0)      zeroCount++;    // Підрахунок нулів
    }
 
    for (int i = ++min; i < aSIZE; ++i)     // Рахування сумми
        sum += a[i];
 
    cout << "\nSum from index["<<min<<"] = " << sum;
 
    cin.sync(); cin.get();                  // Пауза
    return 0;
}
Добавлено через 11 минут
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    const int aSIZE = 10;
    int a[aSIZE];
 
    srand(time(nullptr));
    for (int i = 0; i < aSIZE; ++i)                 // Ініціалізація масиву
        cout << (a[i] = 1 + rand() % 100) << ' ';   // та вивід його на екран
 
    int min         = 0;    // Мінімальний елемент
    int zeroCount   = 0;    // Кількість нулів
    int sum         = 0;    // Сумма
 
    for (int i = 0; i < aSIZE; ++i)
    {
        if (a[i] < a[min])  min = i;        // Пошук мінімального
        if (a[i] == 0)      zeroCount++;    // Підрахунок нулів
    }
 
    for (int i = ++min; i < aSIZE; ++i)     // Рахування сумми
        sum += a[i];
 
    cout << "\nSum from index["<<min<<"] = " << sum << endl;
 
    for (int i = 0; i < aSIZE; ++i)             // Сортування
        for (int j = 0; j < aSIZE - 1; ++j)     // модулів чисел
            if (abs(a[j]) > abs(a[j+1]))        // алгоритмом
                swap(a[j],a[j+1]);              // сортування бульбашкою
 
    cout << "Sorted array:\n";
    for (int i = 0; i < aSIZE; ++i)     // Вивід масиву
        cout << a[i] << ' ';            // на екран
 
    cin.sync(); cin.get();                  // Пауза
    return 0;
}
0
Andreas_Kara
32 / 32 / 17
Регистрация: 26.10.2015
Сообщений: 94
10.11.2015, 22:13 #6
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
int num_of_null(const int* ar, size_t sze)
{
    size_t cnt = 0;
    for(size_t i = 0; i < sze; i++)
        if(ar[i] == 0)
            ++cnt;
    return cnt;
}
 
int sum_after_min(const int* ar, int sze)
{
    size_t min_index = 0;
    int mn = 0, sum = 0;
    for(size_t i = 1; i < sze; i++)
        if(ar[i] < mn)
        {
            mn = ar[i];
            min_index = i;
        }
    for(size_t i = min_index + 1; i < sze; i++)
        sum +=ar[i];
    return sum;
}
 
void sortArray(int* ar, int sze)
{
    for(int i = 0; i < sze; i++)
    {
        for(int j = 0; j < sze - 1 - i; j++)
        {
            if(abs(ar[j]) > abs(ar[j + 1]))
                swap(ar[j], ar[j + 1]);
        }
    }
}
0
10.11.2015, 22:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2015, 22:13
Привет! Вот еще темы с ответами:

Обработка одномерного динамического массива - C++
создать одномерный динамический массив произвольного размера.Заполнить его случайным образом.Вычислить сумму квадратов чисел, больших...

Обработка одномерного массива: поиск, перестановка, сортировка - C++
Для одномерного массива, состоящего из n вещественных чисел: а) найти максимальный элемент массива; б) вычислить сумму элементов с...

Объясните пожалуйста (Матрица задана в виде одномерного массива. Восстановить исходную) - C++
# include&lt;stdio.h&gt; # include&lt;conio.h&gt; # include&lt;math.h&gt; # include&lt;stdlib.h&gt; # define k 5 # define m ((1+k)*k)/2 void main() {...

пожалуйста сделайте - C++
На заводе выпускается несколько наименований деталей. Сведение о деталях включают код детали, количество выпущенных деталей, номер месяца...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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