Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Najdłuższy spójny podciąg niemalejący

Ostatnio zmodyfikowano 2018-03-03 22:16
Autor Wiadomość
robertos18
Temat założony przez niniejszego użytkownika
Najdłuższy spójny podciąg niemalejący
» 2018-03-03 16:27:38
Witam potrzebuję pomocy w napisaniu algorytmu liniowego, który zliczy najdłuższy spójny podciąg niemalejący
Napisałem kod, który wypisuje ile ma być liczb i z jakiego przedziału mają one być.

C/C++
#include <iostream>
#include <stdlib.h>
#include <vector> // biblioteka odpowiedzialna za wektory
#include <time.h> // do generatora random

using namespace std;

int main()
{
    vector < int > liczby; //deklaracja wektora
    int i = 1, dana, n, a, b;
    char odp;
    srand( time( NULL ) );
    cout << "Napisz, ile liczb wprowadzic do wektora: "; cin >> n;
    cout << "Wpisz, jaki bedzie zakres losowanych liczb: od "; cin >> a;
    cout << "do "; cin >> b;
    for( i; i <= n; i++ )
    {
        dana =( rand() %( b - a + 1 ) ) + a;
        liczby.push_back( dana ); //powiekszanie wektora
    }
    for( i = 0; i < liczby.size(); i++ )
         cout << liczby[ i ] << " ";
   
    return 0;
}

np dla danych: n=10, a=0, b=9 mam ciąg losowy: 4531234521
wynik:

P-169706
YooSy
» 2018-03-03 18:53:15
1234599
Przecież to jest ciąg niemalejący, czyli jego długość wynosi 7.
P-169711
robertos18
Temat założony przez niniejszego użytkownika
» 2018-03-03 19:03:52
faktycznie, zle napisalem, juz poprawione :)
Wiesz jak napisac ten algorytm?
P-169712
Rashmistrz
» 2018-03-03 19:11:04
Skanujesz od początku zestaw czy jest niemalejący,
aż nie napotkasz zepsucia ciągu lub końca danych.
Zapisujesz ostatni ciąg i kontynuujesz kolejne wyszukiwania,
zastępując zachowany jeśli napotkasz dłuższy ciąg,
i tak do napotkania końca danych w wektorze.
Zachowany ciąg bedzie najdłuższym...
P-169713
robertos18
Temat założony przez niniejszego użytkownika
» 2018-03-03 19:12:58
skanujesz tzn? jak to zapisać w kodzie?
P-169714
YooSy
» 2018-03-03 20:08:19
Porównuj wartości. Dodawaj znaki do tablicy póki ciąg spełnia wymagania i zapamiętaj w tablicy wynikowej jeśli obecnie przerwany skanowany ciąg będzie dłuższy od obecnie wynikowego.
P-169721
Rashmistrz
» 2018-03-03 20:50:36
@YooSy: Według mnie wystarczy trzymać
dwie pary iteratorów i się nimi posługiwać :F
P-169725
robertos18
Temat założony przez niniejszego użytkownika
» 2018-03-03 20:58:27
algorytm liniowy moze się składać z if-ow?
P-169726
« 1 » 2
  Strona 1 z 2 Następna strona