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

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

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

Вывести массив содержащий длины всех серий исходного массива - C++

09.05.2016, 10:56. Просмотров 219. Ответов 3
Метки нет (Все метки)

Снова здравствуйте! Есть задача: "Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии - количество этих элементов (длина серии может быть равна 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
#include <iostream>
#include <cmath>
#include <conio.h>
#include <ctime> 
#include <iomanip> 
 
using namespace std;
 
int main()
{
    setlocale(0, "");
    
    int i, x;
    long int n;
    cout << "Введите размерность N матрицы... ";
    cin >> n;
    srand(time(NULL));
    double *ary = new double[n];
    *ary = n;
 
 
    for (int i = 0; i < n; i++){
        {
            ary[i] = rand() % 99 + 1;
            cout << setw(4) << ary[i];
        }
    x = 1;
    if (ary[i] == ary[i + 1])
    {
        x++;
    }
    if (ary[i] = ary[i + 1] && ary[i+1]!=ary[i+2] )
    {
        x = x + 0;
        
    }
    else (ary[i] != ary[i + 1]);
    {
        x = 1;
    }
    for (int i = 0; i < n; i++); {
        if (ary[n-1] == ary[n-2]); {
            cout << ary[n-1];
            cout << "(" << x << ")";
        }
    }
    }
    _getch();
    return 0;
}
Добавлено через 15 минут
Изменила в коде ввод элементов массива.

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
#include <iostream>
#include <cmath>
#include <conio.h>
#include <ctime> 
#include <iomanip> 
 
using namespace std;
 
#include <iostream>
 
using namespace std;
 
int main()
{
    int *ary; // указатель для выделения памяти под массив
    int i, x, size; // размер массива
 
              // Ввод количества элементов массива
    cout << "n = ";
    cin >> size;
    
 
    ary = new int[size]; // выделение памяти под массив
 
                         // заполнение массива
    for (int i = 0; i < size; i++) {
        cout << "ary[" << i << "] = ";
        cin >> ary[i];
    }
    x = 1;
    if (ary[i] == ary[i + 1])
    {
        x++;
    }
    if (ary[i] = ary[i + 1] && ary[i+1]!=ary[i+2] )
    {
        x = x + 0;
        
    }
    else (ary[i] != ary[i + 1]);
    {
        x = 1;
    }
    for (int i = 0; i < size; i++); {
        if (ary[size-1] == ary[size-2]); {
            cout << ary[size-1];
            cout << "(" << x << ")";
        }
    }
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2016, 10:56     Вывести массив содержащий длины всех серий исходного массива
Посмотрите здесь:

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

Записать в массив B длины всех серий исходного массива, а в массив C - значения элементов, образующих серии - C++
Ребята выручите пожалуйста) 1)Дан целочисленный массив A размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной...

Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла - C++
Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла (серией называется набор последова- ...

Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла. - C++
Задачу нужно решить в Borland C++ 3.11 Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла...

Сформировать массив содержащий средние значения исходного массива - C++
Дан массив действительных чисел а размерности n (n вводится с клавиатуры). Сформировать массив b, каждый элемент которого b – среднее...

Процедура и функция: Создать другой массив, содержащий отрицательные элементы исходного массива. - C++
доброго времени суток есть код программы //Дан одномерный массив, состоящий из 30 вещественных чисел. //Создать другой массив,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jurok_85
241 / 224 / 77
Регистрация: 21.02.2013
Сообщений: 519
Завершенные тесты: 1
09.05.2016, 11:16     Вывести массив содержащий длины всех серий исходного массива #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
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;
 
int main()
{
    int n;
    cout << "Введите размерность N матрицы... ";
    cin >> n;
    srand(time(NULL));
    int *ary = new int[n];
    for (int i = 0; i < n; i++){
            ary[i] = rand() % 99 + 1;
            cout << setw(4) << ary[i];
        }
        cout << endl;
        int length, index;
 
        for (int i = 0; i < n; i++){
            length = 0;
            if(ary[i]== ary[i+1]) index = i;
            while(ary[i]== ary[i+1]){
                length++;
                i++;
                if((i+1)== n) break;
            }
            if(length != 0)
            cout << "Найдено на позиции: " << index + 1 << " Длинна посдедовательности: "<<length << endl;
        }
 
 
    return 0;
}
Ponpon
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 20
09.05.2016, 11:30  [ТС]     Вывести массив содержащий длины всех серий исходного массива #3
Наверное работает, но рандомизация тут не проходит ибо не всегда выпадают одинаковые =) Однако, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2016, 19:49     Вывести массив содержащий длины всех серий исходного массива
Еще ссылки по теме:

Сформировать массив содержащий только нечетные элементы исходного массива упорядоченные по убыванию - C++
1)Задан массив целых чисел a.Сформировать массив b,содержащий только нечетные элементы массива a упорядоченные по убыванию.

Создать новый файл, содержащий квадраты всех элементов исходного файла - C++
Дан текстовый файл вещественных чисел. Создать новый файл, содержащий квадраты всех элементов исходного файла. Буду очень благодарен за...

Создать файл целых чисел, содержащий номера всех локальных максимумов исходного файла в порядке возрастания - C++
1.Создать файл целых чисел содержащий номера всех локальных максимума исходного файла в порядке возрастания . 2.Даны 4 файла целых...

15. В файле записаны числа. Создать новый файл, содержащий длины всех убывающих последовательностей - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

Процедуры и массив (создать, заполнить, вывести, подсчитать количество неубывающих серий) - C++
Помогите написать программу. Нужны создать массив ( к примеру 10 элементов) и несколько процедур к нему. 1. Заполнить массив. 2....

Одномерные массивы. Вывести на экран массив, составленный из номеров элементов исходного массива, которые равны заданному значению. - C++
Надоела уже наверное...ноо..выручайте( с++ Задан массив целых чисел. Вывести на экран массив, составленный из номеров элементов...


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

Или воспользуйтесь поиском по форуму:
Ponpon
0 / 0 / 0
Регистрация: 10.04.2016
Сообщений: 20
10.05.2016, 19:49  [ТС]     Вывести массив содержащий длины всех серий исходного массива #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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(0, "");
    int ary[10], i;
    
    for (int i = 0; i < 10; i++)
    {
        cin >> ary[i];
    }
    cout << endl;
    int length, index;
 
    for (int i = 0; i < 10; i++) {
        length = 0;
        if (ary[i] == ary[i + 1]) index = i;
        while (ary[i] == ary[i + 1]) {
            length++;
            }
        
        for (int i = 0; i < 10; i++) 
        {
            if (ary[i] != ary[i + 1]) length = 1;
            index = i;
        }
 
            cout << "Найдено на позиции: " << index + 1 << " Длина последовательности: " << length << endl;
    }
 
    _getch();
    return 0;
}
Yandex
Объявления
10.05.2016, 19:49     Вывести массив содержащий длины всех серий исходного массива
Ответ Создать тему
Опции темы

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