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

Цикл: Найти самую длинную неубывающую цепочку чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Упорядочить массив в с++ http://www.cyberforum.ru/cpp-beginners/thread621584.html
Создать целоисчисленный массив. упорядочить элементы массива в порядке возрастания частоты встречаемости. Если в массиве есть несколько элементов, то группы упорядочить по убыванию абсолютных значений элементов. Помогите пожалуйста, не знаю как упорядочить массив. Вот код, который написала #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include...
C++ Узнать размер файла Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив структур из этих строк. Почитал в интернете, нужно использовать библиотеки sys.h\types.h\stat.h . Но их нету в стандартном наборе ни CodeBlock'а, ни Builder'а, ни DEV'а... Покажите на примере, как это сделать? http://www.cyberforum.ru/cpp-beginners/thread621582.html
C++ Интерфейс пользователя C++
Есть у меня форма, сделал я ее на с++ atl через ресурс. Теперь надо по нажатии кнопки которая находиться на этой же форме записать всю инфу в файл. НО! Я не знаю как присвойть переменной например char значение которое располагаться в компоненте (textbox - текстовое поле). Подскажите?
C++ Массив: сортировка элементов массива по убыванию
Привет всем с Казахстана) Хотелось бы от вас пару уроков взять про массивов. Сначала, пожалуй, начну с этого: Массив, состоящий из 15и символов. Сортировать эти массивы по убыванию. Сделайте, как можно проще. Просто, когда училка спросит, чтоб я мог смело отвечать) Удачи) На таком примере: #include<iostream.h> #include<math.h> #include<conio.h> int main(){
C++ Отсортировать студентов http://www.cyberforum.ru/cpp-beginners/thread621561.html
дан масив оценок каждого студента по 1 предмету отсортировать студентов по среднему арифмитическому оценок и отсортировать по количеству пятерок. 10 студентов.10 оценок. должно быть 10 масивов. каждый масив ето студент. рещить надо с помощью пузырьковой сортировки либо с помощью сортировки выбором. БЕЗ ПРИМИНЕНИЯ ФУНКЦИЙ!!!
C++ Каскадное слияние со специальным распределением Здравствуйте, я хочу реализовать на C++ алгоритм каскадного слияния со специальным распределением. Прочитал материал из Кнута об этом алгоритме и не могу вникнуть, как написать программу на C++, которая работала бы с ним. Что она должна в целом делать? Добавлено через 1 час 47 минут Нашел код на Delphi (с таймерами процедур, они не нужны), кто-нибудь может преобразовать его в C++? var ... подробнее

Показать сообщение отдельно
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2012, 16:33     Цикл: Найти самую длинную неубывающую цепочку чисел
Цитата Сообщение от maksbuck Посмотреть сообщение
Необходимо найти самую длинную неубывающую цепочку чисел.
Если несколько цепочек равны, то что должно вывестись?

Добавлено через 3 часа 55 минут
Цитата Сообщение от maksbuck Посмотреть сообщение
Необходимо найти самую длинную неубывающую цепочку чисел.
код
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
using namespace std;
 
int main()
{
setlocale (LC_ALL, "Russian");
 
const int N = 15; // количество чисел в массиве.
 
int arr[N]; // массив для чисел.
int ind[N/2]; // массив для индексов.
 
cout << "Введите " << N << " чисел:" << endl;
for (int i = 0; i < N; i++) // заполнение массива чисел.
    cin >> arr[i];
 
system("cls");
for (int i = 0; i < N; i++) // распечатка массива чисел.
    cout << arr[i] << " ";
cout << endl;   
    
    int j = 0; // начальный индекс массива ind[].
    int count = 1; // счётчик равных по длине цепочек.
    int cp = 1; // длина цепочки.
    int flag = 0; // флаг выхода из анализа массива. Если 1, то есть самая длинная.
 for (int i = 1; i < N; i++) // анализ массива.
{
    int itemp = 0; // для временного хранения индекса.
    int ctemp = 1; // для временного хранения длины цепочки.
    if (arr[i] >= arr[i - 1]) // если цепочка, то запоминаем индекс начала цепочки. 
        itemp = (i - 1); // 
    while (i < N && arr[i] >= arr[i - 1]) // определяем длину цепочки.
    {
        ctemp++; // длина цепочки.
        i++; 
    }
    if (ctemp > cp) // если цепочка длиннее предыдущей.
    {
        cp = ctemp; // запоминаем длину цепочки.
        ind[0] = itemp; // запоминаем индекс начала самой длинной цепочки.
        j++; 
        flag = 1; // если самая длинная.
    }
    else // если не больше,
    {
        if (cp > 1 && ctemp == cp) // и не из одного числа, и равна предыдущей.
        {
            ind[j] = itemp; // запоминаем индекс.
            count++; // количество цепочек увеличиваем.
            j++;
            flag = 0; // нет самой длинной.
        }
    }
}
 
if (cp > 1) // если длина цепочки больше 1.
{
    if (flag == 0) // если нет самой длинной.
    {
        cout << "Есть несколько цепочек, длиной равной " << cp << endl
             << "Количество цепочек равно " << count << endl;
        for (int i = 0; i < count; i++) // распечатка цепочек.
        {
            cout << "Цепочка началась с " << (ind[i] + 1) << " числа" << endl;
            for (int j = ind[i]; j < (ind[i] + cp); j++)
                    cout << arr[j] << " ";
            cout << endl;
        }
     }                    
     else // если есть самая длинная.
     {
        cout << endl << "Длина цепочки = " << cp << endl 
                     << "Цепочка началась с " << (ind[0] + 1) << " числа" << endl;
        for (int i = ind[0]; i < (ind[0] + cp); i++) // распечатка цепочки.
            cout << arr[i] << " ";
    }
}   
else cout << "Колличество чисел в цепочке равно 1" << endl;
 
cout << endl;
system("pause");
return 0;
}
 
Текущее время: 05:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru