Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 8

Самая большая длина упорядоченных эл-ов массива.

23.10.2011, 17:29. Показов 3411. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В заданной последовательности чисел длиной n (n≤100) определить длину самой большой упорядоченной по возрастанию подпоследовательности соседних элементов.

Пытаюсь, пытаюсь..не выходит..помогите пожалуйста. Если можно, примитивным кодом, так как это лаб. раб. для универа =)

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace лаб4_4
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 10, i = 0, y = 1, l = 0, iend = 0, istart = 0, dtemp = 1, dl = 0, dlmax = 0;
            //Random r = new Random();
            Console.WriteLine("Введите размерность массива( <= 100 )..");
            //while (y == 1) //Цикл проверки на правильность ввода размерности массива
            //{
            //    n = Convert.ToInt32(Console.ReadLine());
            //    if (n > 100) Console.WriteLine("Вы ввели слишком большое n, пожалуйста повторите ввод..");
            //    else y = 0;
            //}
            int[] a = new int[]{1,2,3,-1,5,2,3,4,5,1};   //Объявление массива
            //for (i = 0; i < n; i++) //Заполнение массива
            //    a[i] = r.Next(-5, 10);
            for (i = 0; i < n; i++) //Вывод заполненного массива на экран
                Console.WriteLine(" a[" + i + "] = " + a[i]);
            Console.ReadLine();
            do      //Внешний цикл вычисления самой большой длины подпоследовательности
            {
                for (i = 0; i < n-1; i++)     //Внутренний цикл вычисления самой большой длины подпоследовательности
                {
                    if (a[i] < a[i + 1])
                    {
                        dtemp++;
                        istart = l;
                        iend = i;
                        dl = dtemp;
                    }
                }
                dtemp = 1;
                l++;
            }
            while (l != n);
            Console.WriteLine("Последовательность с самой большей длинной подпоследовательности, упорядоченных по возрастанию элементов");  //Вывод подпоследовательности с самой большей длиной
            for (i = istart; i < iend + 1; i++)
                Console.Write("• " + a[i]);
            Console.WriteLine("Самая большая длина подпоследовательности, упорядоченных по возрастанию элементов: "+dl);
            Console.ReadLine();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2011, 17:29
Ответы с готовыми решениями:

Определить позиции, которые занимают самая большая и самая маленькая цифры заданного пользователем числа
Для заданного с клавиатуры натурального числа, все цифры которого разные, определить позиции, которые занимают его самая большая и самая...

на каком участке массива длиной m самая большая сумма
Вряд выписано N чисел(не по-порядку), которые записанны в массив x. Есть лист бумаги с окошком длинной m и этот листок двигают по этому...

Самая большая и самая маленькая цифра числа
Помогите Пожалуйста! Вам дают любое число n. Ваша задача вывести на экран самую большую и самую маленькую цифру этого...

3
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
23.10.2011, 17:44
C#
1
2
3
4
5
6
int len = 1, maxLen = 1;
for (int i = 1; i < a.Length; i++)
    if (a[i] >= a[i - 1]) ++len;
    else { maxLen = Math.Max(len, maxLen); len = 1; }
 
Console.WriteLine(maxLen);
1
16 / 16 / 5
Регистрация: 11.10.2011
Сообщений: 37
23.10.2011, 18:42
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
 static void Main(string[] args)
        {
            int count = 0, max = 0; //переменные счетчика и максимальной последовательности
           int[] n = new int [100]; //массив из 100 чисел
           Random rnd = new Random();
           for (int i = 0; i < n.Length; i++)
           {
              n[i] = rnd.Next(10);  //заплняем массив числами 0..9
               
               Console.WriteLine(n[i]); //выводим массив на консоль    
           }
           for (int i = 1; i < n.Length; i++)
           {
               if (n[i] == (n[i - 1] + 1)) //проверка на сущ-е возрастающей последовательности
               {
                   count++;
                   if (count > max)
                   {
                       max = count;
                   }
               }
               else
                       count = 0;        
           }
          
           Console.WriteLine("Самая длинная возрастающая последовательность :" + (max+1));
           Console.ReadKey();
        }
вроде работает, если есть какие недочеты - исправьте сами. правда, моя версия ищет такую последовательность, в которой каждый следующий элемент больше предыдущего на единицу. если просто возрастающая посл-ть, то условие if (n[i] > n[i-1])
1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 8
23.10.2011, 19:10  [ТС]
Спасибо, оперативные кодеры =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2011, 19:10
Помогаю со студенческими работами здесь

Самая большая цифра натурального числа К
Составьте программу, выводящую на экран самую большую цифру натурального числа К.

Самая большая последовательность из одного и того же символа
Помогите пожалуйста. задача по CGI Максимальная последовательность символов. Написать программу, которая запрашивает имя файла и...

Найти треугольник, у которого самая большая медиана
Решить задачу: n треугольников заданы длинами своих сторон. Найти треугольник, у которого самая большая медиана.

Определить сумма цифр какого числа самая большая
помогите с решением пожалуйста....

Как можно узнать какая из строк в текстовом файле самая большая
Помогите пожалуйста)))Как можно узнать какая из строк в текстовом файле самая большая, а какая самая маленькая......


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru