• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Szukanie najwiekszej liczby C++

Object Storage Arubacloud
0 głosów
5,955 wizyt
pytanie zadane 1 grudnia 2016 w C i C++ przez Mateusz Ścigała Początkujący (280 p.)
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <time.h>
using namespace std;
int main ()
{
    int w,T[100000], liczba;
    cout <<"Podaj wielkosc tablicy."<<endl;
    cin>>w;
    srand(time(NULL));
    cout<<"Tablica ma wartosci: "<<endl;
    for (int i=0;i<w;i++)
    {
        Sleep(100);
        liczba=rand()%499+1;
        cout<<liczba<<endl;
    }



return 0;
}

Witam serdecznie. Nie mam pomysłu jakbym mógł dokończyć ten kod. Potrzebuje znaleźć największą liczbę z tych wylosowanych. Specjalnie dałem większy zakres i uśpienie (na chwile) żeby zmniejszyć ryzyko pojawienia się dwóch takich samych liczb, chociaż nie wiem czy to ma znaczenie w tym przypadku. Próbowałem przypisywać maks=liczba jednak dostaje wtedy liczbę maks, która wylosowała się na samym końcu. 
Jak mógłbym dokończyć kod, żeby algorytm wybierał największą liczbę z tabeli?

Z góry dziękuje za pomoc,

pozdrawiam :)

2 odpowiedzi

0 głosów
odpowiedź 1 grudnia 2016 przez Pajdas Mądrala (5,930 p.)
edycja 1 grudnia 2016 przez Pajdas
 
Najlepsza
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <time.h>
using namespace std;
int main ()
{
    int naj = 0;           //Ustawiam wartość na 0 aby przy ewentualnym sprawdzeniu czy liczba > naj nie pojawił się niespodziewany błąd (lepiej zapobiegać niż leczyć)
    int wielkosc, liczba;  //pomocne zmienne
    cout <<"Podaj wielkosc tablicy."<<endl;
    cin>>wielkosc;
    srand(time(NULL));
    cout<<"Tablica ma wartosci: "<<endl;
    for (int i=0;i<wielkosc;i++)
    {
        Sleep(100);
        liczba=rand()%499+1;
        cout<<liczba<<endl;
        if(liczba>naj)     //Sprawdzam czy nowo wylosowana zmienna nie jest większa niż największa dotychczas
        {
            naj = liczba;  //Jeżeli tak to ustawiam ją jako największą
        }
    }
    cout<<endl<<"najwieksza: "<<naj;

return 0;
}

przed edit:

{
mój pierwszy post, jak się tworzy okno które ładnie obcina kod?
Sorka za przydługie komentarze, ale to ma być zrozumiałe :)
}

komentarz 1 grudnia 2016 przez Mateusz Ścigała Początkujący (280 p.)
W panelu gdzie wstawiasz komentarz masz taki znaczek {...}code , klikasz to i wybierasz jaki język :).

edit: Dzięki za podpowiedź.
komentarz 1 grudnia 2016 przez Pajdas Mądrala (5,930 p.)

ok, dziękuje za pomoc

#include "regulamin.h"

heh :)

 

0 głosów
odpowiedź 1 grudnia 2016 przez L33TT12 Gaduła (3,950 p.)

Tablica T jest zbędna gdyż nawet jej nie używasz, ale pomijając to, można zastosować
coś takiego typu

int max_number = 0;
for(int i = 0;i<tablica.length;++i)
    if(max_number < tablica[i])
        max_number = tablica[i];

 

komentarz 1 grudnia 2016 przez Pajdas Mądrala (5,930 p.)
Zgadza się.

Sprawdzić która liczba jest największa możesz podczas "segregacji" w pętli określającej wartość.

Takie podejście jest dużo bardziej oszczędne w pamięci bo są tylko dwie zmienne (największa i bufor).

Podejście z tablicą ma wadę zabierania pamięci, ja bardziej skłaniałbym się do zapisywania tylko tej największej, kiedy oczywiście jest to możliwe.

Z tego co kojarzę to był taki film na yt związany z szukaniem największej liczby:
https://www.youtube.com/watch?v=63QjKBcIySs

13:24 jest zadanie które możesz wykonać aby mieć pewność że rozumiesz to w 100% :)

Podobne pytania

0 głosów
3 odpowiedzi 516 wizyt
pytanie zadane 9 maja 2019 w Java przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
2 odpowiedzi 1,455 wizyt
pytanie zadane 15 maja 2018 w C i C++ przez Marte Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,453 wizyt

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...