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

Rozdział 22 pętla for.

Ostatnio zmodyfikowano 2018-02-20 19:05
Autor Wiadomość
tomis69
Temat założony przez niniejszego użytkownika
Rozdział 22 pętla for.
» 2018-02-12 02:42:54
Witajcie.

Gdzieś popełniłem błąd, który ciężko mi zlokalizować, a mianowicie ciąg liczb nie jest taki jakiego oczekujemy...

Standardowo proszę o wskazówki ;)

Z góry bardzo dziękuje!

C/C++
#include <iostream>

using namespace std;

void wypiszLiczby( int tablica[], int ile )
{
    for( int indeks = 0; indeks < ile; indeks++ );
   
}

long long losujLiczby( int tablica[], int ile )
{
    long long n = 0;
    for( int indeks = 0; indeks < 20; indeks++ )
    {
        n =( 1 + n * 5 );
        cout << n << endl;
    }
    return n;
}

int main()
{
    int dane[ 20 ];
    wypiszLiczby( dane, 20 );
    long long wynik = losujLiczby( dane, 20 );
    cout << "Program wylosowal nastepujace liczby: " << wynik << endl;
    return 0;
}
P-169371
YooSy
» 2018-02-12 07:28:45
Po pierwsze funkcja wypiszLiczby nie wypisuje żadnych liczb.
Po drugie funkcja losujLiczby nie korzysta z argumentu ile. Po co on tam jest?

ciąg liczb nie jest taki jakiego oczekujemy...
(kto tam z wami jest?;)).
Wypadałoby napisać jaki ma być output, a jaki faktycznie jest.

Poszukaj w internetach info o debugowaniu kodu.
P-169372
tomis69
Temat założony przez niniejszego użytkownika
» 2018-02-16 18:49:08
Nie czepiaj sie liczby mnogiej ;)
Pierwsza wersja kodu byla pisana po pracy i mozg juz nie pracowal (sam sie dziwie ze tak kiepski kod wstawilem na forum)...
Ponizej zamieszczam co napisalem. Liczby wypisywane sa poprawnie aczkolwiek output sumy nie jest poprawny. Czy mozesz mnie kolego naprowadzic? Odnosnie debugowania to chyba za wczesnie aby sie tego uczyc. Zdaje sobie sprawe z potrzeby korzystania z debugera aczkolwiek na tym etapie to chyba mimo wszystko zbyt wczesnie :) 

C/C++
#include <iostream>

using namespace std;

int sumujLiczby( int tablica[], int ile )
{
    int oblicz;
    for( int indeks = 0; indeks < ile; indeks++ )
         oblicz += tablica[ indeks ];
   
    return oblicz;
}


long long losujLiczby( int tablica[] )
{
    long long n = 0;
    for( int n = 0; n < 20; n++ )
    {
        cout << 1 + n * 5 << endl;
    }
    return n;
}

int main()
{
    int dane[ 20 ];
    losujLiczby( dane );
    int suma = sumujLiczby( dane, 20 );
    cout << "Suma wylosowanych liczb: " << suma << endl;
    return 0;
}
P-169451
Luq
» 2018-02-16 19:21:36
C/C++
long long losujLiczby( int tablica[] )
{
    long long n = 0;
    for( int n = 0; n < 20; n++ )
    {
        cout << 1 + n * 5 << endl;
    }
    return n;
}
Tylko wypisujesz te liczby, nie zapisujesz ich do tablicy. Poza tym to tak średnio losowe te liczby.

Zmienną do sumowania warto by zainicjować do zera.
P-169452
YooSy
» 2018-02-16 20:13:47
Zdaje sobie sprawe z potrzeby korzystania z debugera
Dobrze, bo to najważniejsze narzędzie programisty.

aczkolwiek na tym etapie to chyba mimo wszystko zbyt wczesnie :)
Nie jest za wcześnie, a im szybciej nauczysz się samodzielnie skutecznie szukać błędów
w logice programu, tym lepiej dla ciebie.

Masz funkcję losujLiczby, która niczego nie losuje.
Nazwy funkcji powinny opisywać do czego służą.

Jw. zmienna oblicz nie jest zinicjalizowana (UB).

» Kurs C++ » Poziom 2Pseudolosowe liczby całkowite lekcja
Użyj tych narzędzi do losowania liczb lub skorzystaj z nowszych narzędzi
http://en.cppreference.com/w​/cpp/numeric/random​/uniform_int_distribution


Nie czepiaj sie liczby mnogiej ;)
Wybacz.

P-169453
tomis69
Temat założony przez niniejszego użytkownika
» 2018-02-20 18:25:01
W jaki sposób output mam zapisać do tablicy?
P-169545
jankowalski25
» 2018-02-20 18:27:41
tablica[ indeks ] = zmienna;
P-169546
tomis69
Temat założony przez niniejszego użytkownika
» 2018-02-20 18:42:25
Bardziej chodziło mi o to, żeby napisać funkcję która miałaby to robić bo samo przypisanie to ja wiem, ale tu mamy 20 liczb. Niestety w żaden sposób nie mogę podpiąć owej metody przypisania do mojego kodu.
P-169547
« 1 » 2
  Strona 1 z 2 Następna strona