Wątek przeniesiony 2017-02-15 13:40 z C/C++ przez kq. Powód: Niepoprawna kategoria forum

Losowanie cyfr z powtórzeniem,wprowadzanie liczb wierszy

Odpowiedz Nowy wątek
2017-02-15 13:39
Brunatny Kret
0

Witam
Mam problem z programem w C++, próbowałem sam zrobić, ale nie daje rady. Szukałem już na wielu forach i wraz nic.
Muszę napisać program w C++ który będzie losował cyfry ze zbioru cyfr: {1,2,3,4,5,6,7,8,9}. Cyfry w losowaniu moga się powtarzać.
a)zadeklaruj tablicę dwuwymiarową 5x5k (5 kolumn, 5+k wierszy)
b)wprowadzana jest liczba wierszy która będzie wypełniona liczbami.(zabezpiecz aby nie dało się wprowadzić liczby większej od liczby zdefiniowanych wierszy)
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
e) wuświetli całą tablicę z podsumowaniem na ekranie (wiersze tablicy w oddzielnych liniach jedne pod drugą)

Będę wdzięczny za każdą pomoc bo w tej chwili po wielu próbach nawet nie wiem jak się za to wziąć.

Pozostało 580 znaków

2017-02-15 13:40
kq
0

Ok, w którym miejscu pojawiają się trudności w wykonaniu zadania?


Trudność jest w tym że trzeba to napisać ;) - lemonov 2017-02-15 14:11

Pozostało 580 znaków

2017-02-15 17:44
Brunatny Kret
0

Napisałem kod, ale tylko taki który robił 5 kolumn i 5 wierszy i pokazywał liczby te które ja wpisałem w kodzie nie wiem jak zrobić zeby były losowe i także mam problem z podpunktami od b do końca

Pozostało 580 znaków

2017-02-15 18:27
kq
1

W takim razie zacznijmy od losowości. W C++ masz od tego nagłówek <random>. Pod linkiem znajdują się także przykłady użycia.


edytowany 1x, ostatnio: kq, 2017-02-15 18:27

Pozostało 580 znaków

2017-02-19 15:15
Brunatny Kret
0
#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;
 
    int RowsFilledByDigits;
do
{
    cout << "Podaj liczbe wierszy ktore maja byc wypelnione (1-5): ";
    cin >> RowsFilledByDigits;
 
} 
while( RowsFilledByDigits <= 0 || RowsFilledByDigits >= 6 );
 
int tab[ RowsNum ][ ColumnsNum ] { 0 };
 
    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;
    }
}

Mam zrobione coś takiego z pomocą kilku osób tylko nie wiem czy to jest tak jak powinno już być

edytowany 1x, ostatnio: kq, 2017-02-19 18:39

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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