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

Przekazywanie tablic jednowymiarowych do funkcji zadanie domowe. Czy kod jest napisany poprawnie(czy nie popełniłem żadnych karygodnych błędów)?

Ostatnio zmodyfikowano 2017-07-07 01:40
Autor Wiadomość
Kurpel
Temat założony przez niniejszego użytkownika
Przekazywanie tablic jednowymiarowych do funkcji zadanie domowe. Czy kod jest napisany poprawnie(czy nie popełniłem żadnych karygodnych błędów)?
» 2017-07-07 00:30:27
Tak jak w temacie, chciałbym się dowiedzieć czy nie robię błędów i co mogę poprawić w kodzie by w przyszłości nie cierpieć przez złe nawyki.


C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
void wylosujLiczby( int t[], int iRozmiar, int maxx, int minn )
{
    int i = 0;
    do
    {
        t[ i ] =( std::rand() % maxx ) + minn;
        i++;
    } while( iRozmiar > i );
   
}
int obliczSume( int t[], int iRozmiar )
{
    int suma = 0;
    int i = 0;
    do
    {
        suma += t[ i ];
        i++;
    } while( iRozmiar > i );
   
    return suma;
}
void wypiszLiczby( int t[], int iRozmiar )
{
    int i = 0;
    do
    {
        std::cout << "W tablicy " << i << " znajduje sie liczba: " << t[ i ] << std::endl;
        i++;
    } while( iRozmiar > i );
   
}
int main()
{
    srand( time( NULL ) );
    int tablica[ 999 ];
    wylosujLiczby( tablica, 999, 4, 10 );
    wypiszLiczby( tablica, 999 );
    int iSuma = obliczSume( tablica, 999 );
    std::cout << "Suma liczb wynosi: " << iSuma << std::endl;
    return 0;
}
P-163076
Kinexity
» 2017-07-07 00:43:50
Na pewno popełniłeś jeden kardynalny - pisze się "karygodnych", a nie "kary godnych"
P-163077
Kurpel
Temat założony przez niniejszego użytkownika
Poprawione
» 2017-07-07 00:48:32
A co do kodu?
P-163078
Kinexity
» 2017-07-07 00:55:22
Zamiast pętli do...while w powyższych przypadkach lepiej zdałaby egzamin pętla for.
P-163080
Kurpel
Temat założony przez niniejszego użytkownika
» 2017-07-07 00:57:49
Pętla for będę poznawał dopiero za 3 lekcje, a dlaczego lepiej? Jeszcze jakieś błędy?
P-163081
Kinexity
» 2017-07-07 01:06:19
Ja bym to napisał tak:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

const int iRozmiar = 999;

void wylosujLiczby( int t[], int maxx, int minn ) {
    srand( time( NULL ) );
    for( int i = 0; i < iRozmiar; i++ ) {
        t[ i ] =( rand() % maxx ) + minn;
    }
}

int obliczSume( int t[] ) {
    int suma = 0;
    for( int i = 0; i < iRozmiar; i++ ) {
        suma += t[ i ];
    }
    return suma;
}

void wypiszLiczby( int t[] ) {
    for( int i = 0; i < iRozmiar; i++ ) {
        cout << "W komorce " << i << " tablicy znajduje sie liczba: " << t[ i ] << endl;
    }
}

int main()
{
    int tablica[ iRozmiar ];
    wylosujLiczby( tablica, 4, 10 );
    wypiszLiczby( tablica );
    cout << "Suma liczb wynosi: " << obliczSume( tablica ) << endl;
    return 0;
}

I tutaj jeszcze podkreślę - twój kod jest w pełni poprawny, a poprawki są tylko stylistyczne (tak jak np. pętla "for" - ona jest właśnie przeznaczona do sytuacji, kiedy wiesz ile razy musisz coś zrobić)
P-163082
Kurpel
Temat założony przez niniejszego użytkownika
» 2017-07-07 01:40:13
Dzięki
P-163083
« 1 »
  Strona 1 z 1