Počet stejných po sobě jdoucích čísel

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Trny27 16. 3. 2021 21:27

Dobrý den,
dostal jsem za úkol udělat program, který vypíše nejdelší možnou řadu stejných po sobě jdoucích čísel.
Př: 1,2,6,5,7,7,7,8,1,2 - program by měl vypsat, že nejdelší řada čísel se skládá z čísla 7, které je 3x po sobě. Nad tímto úkolem už sedím dobré 2 dny a stále nevím. Za jakoukoliv radu bych byl rád
Trny27
Kolemjdoucí

Odeslat příspěvekod Just_jo 16. 3. 2021 22:00

Jazyk?
Teoreticky bych vytvořil pole s indexy čísel a do nich bych přičítal výskyt.
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod Trny27 16. 3. 2021 22:44

Java. Za každý návrh budu vděčný :D
Trny27
Kolemjdoucí

Odeslat příspěvekod Wikan 16. 3. 2021 22:56

A nad čím přemýšlíš? Stačí jeden cyklus, ve kterém procházíš pole. Porovnáváš aktuální prvek s předchozím, ukládáš si délku aktuální řady. Pokud řada skončí, porovnáš to s dosud nejdelší řadou.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Trny27 16. 3. 2021 23:02

Vím, že to že jsem začátečník není žádná omluva, ale tohle bohužel úplně nedávám
Trny27
Kolemjdoucí

Odeslat příspěvekod Wikan 16. 3. 2021 23:07

A jak dlouho máš ten úkol zadaný? Máš vůbec něco?
Tohle jsi četl? viewtopic.php?f=922&t=929499
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Trny27 16. 3. 2021 23:11

Úkol mám zadaný od pátku, přes víkend jsem dělal tento příkaz, který k zadání připadá:
Kód: Vybrat vše
import java.util.Scanner;
public class posloupnost
{
  public static void main (String[] args)
  {
    int cisla;
    int max;
    int pocet;
   
    Scanner scan = new Scanner(System.in);
    System.out.print("Zadej libovolná kladná čísla, pro ukonení stiskni 0 ");
    cisla = scan.nextInt();
    max = 0;
    pocet = 0;
   
    while(cisla != 0)
    {
      if(cisla > max)
      {
        max = cisla;
        pocet = 1;
        cisla = -1;
      }
      if(cisla == max)
      {
        pocet++;
      }
      System.out.print("Zadej další číslo");
      cisla = scan.nextInt();
    }
    System.out.println("Největší číslo v řadě je " + max);
    System.out.println("Počet tohoto čísla v řadě je " + pocet);
  }
}



Ovšem jak zakomponovat vyhledání nejdelší řady stejných čísel už bohužel nevím...
Trny27
Kolemjdoucí

Odeslat příspěvekod Wikan 16. 3. 2021 23:17

Každé zadané číslo porovnáš s předchozím. Pokud se shoduje, aktuální řada se prodlužuje. Pokud ne, začíná nová řada. Pak to stačí porovnat s aktuálně nejdelší řadou.
Nehledej v tom žádnou magii, je to jenom porovnávání čísel.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Trny27 16. 3. 2021 23:19

Dobře, vyzkouším to. Díky za radu, vážím si toho :-D
Trny27
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků