c++ o jedna liczba za dużo

0
#include<iostream>
using namespace std;

int dane(int tab[], int n)
{
    srand(time(NULL));
    for(int i=0; i<n; i++)
            tab[i]=rand()%1000;
}
int main()
{
    int n;
    cin>>n;
    int *tab = new int[n];
    cout<<dane(tab, n);
    for(int i=0; i<n; i++)
            cout<<endl<<tab[i];
    delete[] tab;
    system("pause");
}
 

Program ma za zadanie wpisać losowe liczby do tablicy o długości n. Problem w tym, że jak wprowadze jak długa ma być ta tablica np. 3 to wyświetli mi 3 i dodatkowo jeszcze 3 wylosowane liczby. Kod wydaje mi sie okey, ale program działa niepoprawnie.

0

Powinno raczej być:

#include<iostream>
using namespace std;

void dane(int tab[], int n)
{
    for(int i=0; i<n; i++)
            tab[i]=rand()%1000;
}
int main()
{
    int n;
    srand(time(NULL));
    cin>>n;
    int *tab = new int[n];
    dane(tab, n);
    for(int i=0; i<n; i++)
            cout<<tab[i]<<'\n';
    delete[] tab;
    cin.sync();
    cin.get();
    return 0;
}
0
int dane(****)

widzę to dzisiaj 5 raz:) Chyba gubbi wziąłeś się do nauki or something:)

0

Działa :) dzięki!

P.S. Kiedyś trzeba zacząć...

0

Jeszcze jedno pytanie, co robi cin.get()? bo wyleciało mi z głowy.

0

Okey, po polsku jak mam sobie to tłumaczyć?

0

Tak jak masz napisane. Jeśli nie umiesz angielskiego to zrezygnuj z programowania bo daleko to nie uciągniesz.

0

znam angielski w jakimś stopniu. Musze wiedzieć tylko, czy dobrze sobie tłumacze cin.get()

0

Bardzo ogólnie mówiąc, użycie cin.get + cin.sync to lepsza wersja system("pause") czy getchar(), pisanych na koncu programu, by ten nie zamykał się od razu, aby programista mógł zobaczyć wyniki pracy.

0
problem napisał(a)

znam angielski w jakimś stopniu. Musze wiedzieć tylko, czy dobrze sobie tłumacze cin.get()

ja pier*** jak masz takie głupoty pisać to milcz!
Znam angielski ale nie wiem czy dobrze tłumaczę..

1 użytkowników online, w tym zalogowanych: 0, gości: 1