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

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

Войти
Регистрация
Восстановить пароль
 
hinata46243
1 / 1 / 0
Регистрация: 12.10.2012
Сообщений: 46
#1

нужно упростить (Найти сумму S первой группы смежных равных элементов) - C++

18.12.2012, 09:45. Просмотров 322. Ответов 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <conio.h>
#include <vcl.h>
#define size 21
 
void input_array(int array[], int n);
void output_array(int array[], int n);
bool processing(int array[], int n);
 
int main()
{
    int array[size];
    int n, m;
    bool find = false;
    printf("Enter n <= 20: ");
    scanf("%d", &n);
    input_array(array, n);
    printf("Source array:\n");
    output_array(array, n);
    find = processing(array, n);
    if(find) ++n;
    printf("\nResult array:\n");
    output_array(array, n);
    getch();
    return 0;
}
void input_array(int array[], int n)
{
    int i;
    randomize();
    for(i = 0; i < n; ++i)
    {
        //printf("Enter array[%d]: ", i);
        //scanf("%d", &array[i]);
        array[i]=random(11)-5;
    }
}
void output_array(int array[], int n)
{
    int i;
    for(i = 0; i < n; ++i)
    {
        printf("%d ", array[i]);
    }
    printf("\n");
}
bool processing(int array[], int n)
{
    int count, i, j;
    for(i = 0; i < n - 1; ++i)
    {
        count = 1;
        j = i + 1;
        while(array[i] == array[j] && j < n)
        {
            ++j;
            ++count;
        }
        if(count > 1)
        {
            array[n] = count * array[i];
            return 1;
        }
    }
    return 0;
}
Найти сумму S первой группы смежных равных элементов (группа – два или более элементов) и вставить S в массив после правого элемента этой группы.
Всё работает.
Помогите сделать процесс фунции без логического оператора bool.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 09:45     нужно упростить (Найти сумму S первой группы смежных равных элементов)
Посмотрите здесь:

Из каждой группы равных между собой элементов массива нужно оставить только один - C++
Дан целочисленный массив а0, а1, а2,…, аn-1, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов...

В одномерном массиве найти сумму номеров всех элементов равных нулю. - C++
С клавиатуры вводится одномерный массив длинной 10 символов. Найти сумму номеров всех элементов равных нулю.

Нужно исправить код поиска смежных одинаковых элементов списка - C++
Задача:Пусть L обозначает кольцевой двунаправленный список с включенным заглавным звеном. Определить, есть ли в списке L хотя бы одно...

Найти сумму элементов первой строки матрицы - C++
1. Найти сумму элементов первой строки матрицы А(15х15) и сумму элементов первого столбца матрицы А’. Матрицу А заполнить случайным образом.

Найти сумму всех элементов первой строки матрицы X[5][5] - C++
Помогите пожалуйста решить данную задачу на c++, завтра сдавать а я нехрена не догнал тему ( Если можно с описанием.

C++ Найти сумму элементов первой и третьей строк матрицы - C++
Найти сумму элементов первой и третьей строк матрицы.

Найти сумму последней группы четных элементов и записать ее в итоговый файл. - C++
Создать файл и записать в него n вещественных чисел. Найти сумму последней группы четных элементов и записать ее в итоговый файл. Вот все...

Массивы (вычислить сумму элементов, найти номер первой из строк...) - C++
Написать программу работы с двумерным вещественным массивом из 7 строк и 5 столбцов для решения задач: 1) вычислить сумму элементов в...

решение двумерных массивов (Вычислить сумму элементов не равных нулю и посчитать их количество, найти номера столбцов с положительными элементами) - C++
решить задачи и составить блок-схемы: ввести двумерный массив С. Вычислить сумму элементов не равных нулю и посчитать их количество....

В первой половине массива нужно найти количество элементов, больших P, а в второй – меньших P - C++
У целочисленному массиве А (a0, a2, ..., an) случайных чисел парна число элементов. У первой половине нужно найти количество элементов,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Рыжий Лис
Просто Лис
250 / 205 / 54
Регистрация: 17.05.2012
Сообщений: 813
Записей в блоге: 4
18.12.2012, 15:17     нужно упростить (Найти сумму S первой группы смежных равных элементов) #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
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
#include <stdio.h>
#include <conio.h>
#include <vcl.h>
#define size 21
 
void input_array(int array[], int n);
void output_array(int array[], int n);
bool processing(int array[], int n);
 
int main()
{
    int array[size];
    int n, m;
    printf("Enter n <= 20: ");
    scanf("%d", &n);
    input_array(array, n);
    printf("Source array:\n");
    output_array(array, n);
   // if(processing(array, n)) ++n;
 
 int count, i, j;
    for(i = 0; i < n - 1; ++i)
    {
        count = 1;
        j = i + 1;
        while(array[i] == array[j] && j < n)
        {
            ++j;
            ++count;
        }
        if(count > 1)
        {
            array[n] = count * array[i];
            --n;
            break;
        }
    }
    ++n;
 
    printf("\nResult array:\n");
    output_array(array, n);
    getch();
    return 0;
}
void input_array(int array[], int n)
{
    int i;
    randomize();
    for(i = 0; i < n; ++i)
    {
        //printf("Enter array[%d]: ", i);
        //scanf("%d", &array[i]);
        array[i]=random(11)-5;
    }
}
void output_array(int array[], int n)
{
    int i;
    for(i = 0; i < n; ++i)
    {
        printf("%d ", array[i]);
    }
    printf("\n");
}
Запутано получилось. (и может быть неправильно)
Yandex
Объявления
18.12.2012, 15:17     нужно упростить (Найти сумму S первой группы смежных равных элементов)
Ответ Создать тему
Опции темы

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