Náhodná čísla + posloupnost – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Náhodná čísla + posloupnost – C / C++ – Fórum – Programujte.comNáhodná čísla + posloupnost – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Katka
~ Anonymní uživatel
21 příspěvků
10. 10. 2016   #1
-
0
-

Ahoj. 

S C++ teprve začínám tak snad mě neukamenujete :D
Mám za úkol vygenerovat posloupnost 20 náhodných čísel a nalezt největší a nejmenší prvek posloupnosti.

Už jsem teda přišla na to, že vygenerovat 20 náhodných čísel můžu takhle:

int main()
{
    int gen;
    srand (time(NULL));
    for (int i = 1; i < 21; i++){
        gen = rand() % 100 ; 
    printf ("%d. cislo je: %d\n",i , gen);}
    cin.get();cin.get();
    return 0;
}

a že seřadit dvacet čísel můžu takhle:

int main() {
    int pole[20];
    cout << "Zadejte dvacet cisel : " << endl;
    for (int i = 0; i<20; i++)
    { cin >> pole[i];  }
    cout << "Zadana cisla jsou " << endl;
    for (int j = 0; j<20; j++)
    {cout << "Porasi císel " << j << " ´Hodnota: " << pole[j] << endl;}
    int cokoliv; /*začíná bubble sort*/
    for (int i2 = 0; i2 <= 19; i2++) 
    {for (int j = 0; j<19; j++)
        {if (pole[j]>pole[j + 1])
            {   cokoliv = pole[j];
                pole[j] = pole[j + 1];
                pole[j + 1] = cokoliv;}}}
    cout << " Serazena cisla " << endl;
    for (int i3 = 0; i3<20; i3++)
    {cout << "Poradí cisel " << i3 << " Hodnota: " << pole[i3] << endl;}
    cin.get();cin.get();
    return 0;
}

ale furt mi ty dva jednotlivý způsoby nejdou dát žádným způsobem do sebe. Neporadil by mi někdo? Popřípadě nenapadá vás nějaký jednodušší způsob? :)

Nahlásit jako SPAM
IP: 89.235.31.–
Reklama
Reklama
zelenac10
Návštěvník
11. 10. 2016   #2
-
0
-

Najvädčšie číslo najdeš pomocou podmienky if.  

if (gen > max_cislo){max_cislo = gen;}
if (gen < min_cislo){min_cislo = gen;}


Nahlásit jako SPAM
IP: 188.121.182.–
Vkuse sa len učím :)
vitamin+8
Grafoman
11. 10. 2016   #3
-
0
-

#1 Katka 

    enum{N = 20};
    int pole[N];
    
    srand(time(0));
    for(int i = 0; i < N; ++i){
        pole[i] = rand() % 100;
    }
    
    //tu je pole naplnene hodnotami

Pole netreba zoraďovať, stačí použiť postup od #zelenac1.

"Jednoduhšie" riešenie je napr toto:    

#include <iostream>
#include <string>
#include <algorithm>
#include <random>
#include <functional>

using namespace std;
    
int main(){
    int ar[20];

    generate(begin(ar), end(ar),  bind(uniform_int_distribution<>{0, 100}, default_random_engine{(long unsigned)time(0)})); 
    auto minmax = minmax_element(begin(ar), end(ar));
    
    cout << '[';
    for(auto x : ar)cout << x << ", ";
    cout << ']';
    cout << "\nmin: " << *minmax.first << ", max: " << *minmax.second;
}
Nahlásit jako SPAM
IP: 195.28.77.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Katka
~ Anonymní uživatel
21 příspěvků
11. 10. 2016   #4
-
0
-

#2 zelenac1
No když hledám největší číslo, tak prvně se mi musí ty náhodný čísla někam vygenerovat ne? Já bych potřebovala ty náhodný čísla vypsat a pod to ty stejný čísla seřadit od nejmenšího po největší :)

Nahlásit jako SPAM
IP: 109.105.40.–
BDS+2
Věrný člen
11. 10. 2016   #5
-
0
-

#4 Katka
protože jde o domácí úkol, a tak pouze odkaz

pokud by jsme se měli držet původního zadání, tak ukládání do pole + řazení není zapotřebí, stačila by pouze kontrola po zadání čísla

Nahlásit jako SPAM
IP: 185.69.69.–
Visual Studio C/C#/C++
(pouze samouk)
zelenac10
Návštěvník
12. 10. 2016   #6
-
0
-

ano, ale ja som si myslel, že hladaš len najvadčšie a najmejšie... :) 

Ale už si to asi zvládla ne?

Nahlásit jako SPAM
IP: 188.121.182.–
Vkuse sa len učím :)
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 167 hostů

Podobná vlákna

Náhodná čisla — založil Zke

Nahodna cisla — založil CommanderZ

Náhodná čísla — založil Petr

(pseudo)náhodná čísla — založil Noneus

Dve nahodna cisla za sebou — založil CommanderZ

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý