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

Losowanie cyfr z powtórzeniem,wprowadzanie liczb wierszy

Ostatnio zmodyfikowano 2017-02-21 18:58
Autor Wiadomość
pekfos
» 2017-02-15 19:47:15
Ostatni wiersz ma zawierać sumy kolumn powyżej. Wypełniasz wszystko losowymi liczbami (w tym wiersz sumy), wszystko sumujesz i wyniki nadpisują ostatni wiersz.

//edit:
c) wprowadzana jest liczba wierszy która będzie wypełniona liczbami. (zabezpiecz aby nie dało się wprowadzić liczby większej od liczby wierszy)
d) Zdefiniuj funkcję z parametrem (parametr ustala liczbę wypełnionych wierszy w tablicy)
e) W ostatnim wierszu umieści sumy każdej kolumny tablicy
c)zdefniuj fukcje z parametrem (paraustala liczbę wypełnionych wierszy w tablicy ) która wypełni liczbami wszystkie komórki oprocz ostatniego wiersza
d) w ostatnim wierszu umiesc sumy każdej kolumny tablicy
W poprzednim temacie, rozłączność miejsca na dane i wynik nie jest jednoznacznie opisana. Tutaj już jest i w kontekście tego problemu (zakładając, że to jest inny problem), twoje rozwiązanie nie będzie działać prawidłowo.
P-157764
michal11
» 2017-02-15 20:00:28
Masz rację, ale to wynika z tego, że na początku inaczej zrozumiałem zadanie (zawsze printuje wszystkie wiersze a te niewybrane ustawiało na zero) i wtedy to działało a potem jak to poprawiłem to już mi się nie chciało sprawdzać wyników. Swoją droga to zadanie jest jakoś dziwnie napisane, dla mnie było niejasne na początku. Rozwiązanie jest dość proste, wystarczy w kilku miejscach pododawać -1 lub +1 do warunków pętli, myślę, że to nie będzie trudne dla rafal6191.
P-157765
rafal6191
Temat założony przez niniejszego użytkownika
» 2017-02-15 22:47:17
To jest mój pierwszy post, a tamto konto to zwykły zbieg okoliczności bo jeśli bym chciał teraz założyć konto drugie to na pewno nie brałbym podobnego nicku tylko jakiś całkowicie inny.

Rano jak wstanę to spróbuję to ogarnąć i zobaczymy co wyjdzie
P-157779
rafal6191
Temat założony przez niniejszego użytkownika
» 2017-02-16 11:27:22
C/C++
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <iomanip>
//====================================================================================================================

void Print( std::ostream & out, int tab[ 5 ][ 5 ], int Rows )
{
    for( int j = - 1; j < 5; ++j )
    {
        out << std::setw( 2 ) <<( j + 1 ) << ": ";
    }
    out << "\n";
   
    for( int i = 0; i < Rows; ++i )
    {
        out << std::setw( 2 ) <<( i + 1 ) << ": ";
        for( int j = 0; j < 5; ++j )
        {
            out << std::setw( 3 ) << tab[ i ][ j ] << " ";
        }
        out << "\n";
    }
}

void Fill( int tab[][ 5 ], int maxFillRow );
void SumColumns( int tab[][ 5 ], int Rows );

//====================================================================================================================

int main()
{
    using std::cout;
    using std::endl;
    using std::cin;
   
    srand( time( 0 ) );
   
    const int RowsNum = 5;
    const int ColumnsNum = 5;
    cout << "Podaj liczbe wierszy ktore maja byc wypelnione: ";
    int tab[ RowsNum ][ ColumnsNum ] { 0 };
    int RowsFilledByDigits;
    cin >> RowsFilledByDigits;
   
   
    Fill( tab, RowsFilledByDigits );
   
    SumColumns( tab, RowsFilledByDigits );
   
    Print( cout, tab, RowsFilledByDigits );
   
   
    return 0;
}
//====================================================================================================================
void Fill( int tab[][ 5 ], int maxFillRow )
{
    for( int i = 0; i < maxFillRow; ++i )
    {
        for( int j = 0; j < 5; ++j )
        {
            tab[ i ][ j ] = rand() % 9 + 1;
        }
    }
}
//*****************************************************************************
void SumColumns( int tab[][ 5 ], int Rows )
{
    int columnSum = 0;
   
    for( int j = 0; j < 5; ++j )
    {
        for( int i = 0; i < Rows; ++i )
        {
            columnSum += tab[ i ][ j ];
        }
        tab[ Rows - 1 ][ j ] = columnSum;
        columnSum = 0;
    }
}


Zrobiłem coś takiego minimalnie zmieniłem tamten kod i na tym się zaciąłem nie wiem jak zrobić blokownie wierszy żeby  nie można było podać więcej niż jest wpisane w kodzie. Także mam problem z tą sumą co tutaj pisaliście bo nie rozumiem zbytnio na czym to poleg
P-157821
michal11
» 2017-02-16 11:56:04
pętla do while, czyli wczytuj dopóki nie prowadzono poprawnej liczby
przykład:
C/C++
int num;
do
{
    cout << "wczytaj liczbe (0,10): ";
    cin >> num;
} while( num <= 0 || num >= 10 );

P-157824
rafal6191
Temat założony przez niniejszego użytkownika
» 2017-02-16 12:40:48
Szczerze mówiąc to trochę się już pogubiłem, nie wiem jak to wstawić żeby odpowiednio działało. Dają jakieś dziwne zadania w szkole gdzie nigdy nic takiego nie robiliśmy ;/
P-157825
michal11
» 2017-02-16 12:56:39
masz taki podpunkt
wprowadzana jest liczba wierszy która będzie wypełniona liczbami. (zabezpiecz aby nie dało się wprowadzić liczby większej od liczby wierszy

w moim kodzie jest to zmienna RowsFilledByDigits czyli masz za zadnie tak zabezpieczyć swój program żeby ta zmienna nie była większa niż max. liczba wierszy w tablicy no i żeby nie była ujemna bo wiadomo wtedy to nie ma sensu. Ja ci wyżej napisałem pętlę zabezpieczającą przed wpisaniem liczby z innego przedziału niż podany (w przykładzie jest to przedział zamknięty od 1 do 9) czyli twoje zadanie polega na takim wkomponowaniu tej pętli w swój program aby zabezpieczyć przed wprowadzeniem do zmiennej RowsFilledByDigits innej liczby niż z przedziału który chcesz.
P-157826
rafal6191
Temat założony przez niniejszego użytkownika
» 2017-02-16 15:05:57
Dobra udało mi się zabezpieczyć i żeby przechodziło z pętli. Teraz jeszcze mam pytanko odnośnie punktu

c)zdefiniuj funkcje z parametrem (parametr ustala liczbę wypełnionych wierszy w tablicy ) która wypełni liczbami wszystkie komórki oprocz ostatniego wiersza

Nie wiem czy to już jest zrobione czy jeszcze? Jeśli tak to w którym momencie? Bo chciałbym lepiej zrozumieć na jakiej zasadzie działa cały kod żebym później już wiedział jak cos takiego zrobić
P-157831
1 « 2 » 3 4
Poprzednia strona Strona 2 z 4 Następna strona