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

mam troche moze lamerski problem ale za help wielkie dzieki

Ostatnio zmodyfikowano 2011-01-17 02:35
Autor Wiadomość
UrbanWrc
Temat założony przez niniejszego użytkownika
mam troche moze lamerski problem ale za help wielkie dzieki
» 2011-01-17 01:01:26
najpierw napisze moze o co sie rozchodzi.
A no robie sobie te cwiczenia z kursu i wszystko w miare ladnie idzie az to cw 4 z lekcji 8... (starego kursu c++ 2)trzeba tam program ksiegowy zrobic. No i wszystko ladnie tylko jest gdzies blad ktorego z kumplami nie mozemy odnalezc.
chodzi o to ze ostatnia kolumna tabeli tab1 - a konkretniej tab1[0][4] (która sumuje wszystkie poprzednie) pobiera dane z kolejnej petli i przyjmuje wartosc z tab[1][0]. Gdyby to ktos rozwiazal to bede wdzieczny.
C/C++
#include <conio.h>
#include <iostream>

using namespace std;
const int ROK = 1;
const char KW[ 5 ][ 15 ] = {
    "Kw I",
    "Kw II",
    "Kw III",
    "Kw IV",
    "SUMA" };

float tab1[ ROK ][ 4 ]; // wprowadzanie danych na kazdy kwartal a 4 tablica to suma.

//float wyniki[ROK][3];
//int j,i;

int main()
{
    short tab1rok[ ROK ];
    tab1rok[ 0 ] = 1999;
   
   
    cout << "             PROGRAM KSIEGOWY                \n" <<
    "Wprowadz dane: \n";
   
    /*-----------WCZYTYWANIE--------------*/
    for( short j = 0; j <= ROK; j++ ) //rok = j
    {
        tab1[ j ][ 4 ] = 0;
        for( short i = 0; i < 4; i++ ) //krwartal = i
        {
            cout << "podaj dane za kwartal " << i + 1 << " rok: \t" << tab1rok[ j ] << ":  ";
           
            cin >> tab1[ j ][ i ];
            tab1[ j ][ 4 ] = tab1[ j ][ 4 ] + tab1[ j ][ i ]; //sumowanie
           
        }
        tab1rok[ j + 1 ] = tab1rok[ j ] + 1; //rok=rok+1
    }
    /*-----------WYPISYWANIE-------------*/
    cout << "\nROK\t";
    for( int i = 0; i < 5; ++i ) cout << KW[ i ] << "\t"; //wyswietlanie kwartalow +sumy
   
    cout << endl;
    for( int j = 0; j <= ROK; ++j )
    {
        cout << tab1rok[ j ] << "\t";
        for( int i = 0; i < 5; i++ )
             cout << tab1[ j ][ i ] << "\t";
       
        cout << endl;
    }
    cout << tab1[ 0 ][ 4 ] << endl;
   
   
   
   
   
   
    getch();
}
P-26646
DejaVu
» 2011-01-17 01:28:11
W zasadzie to piszecie poza zakresem tablicy.
C/C++
float tab1[ ROK ][ 4 ]; //MAX 4 elementy na drugim wymiarze
//...
tab1[ j ][ 4 ] = 0; //Piąty element na drugim wymiarze
P-26649
UrbanWrc
Temat założony przez niniejszego użytkownika
» 2011-01-17 01:42:12
:/ dzieki... troche mi zajmie chyba jeszcze ogarniecie tego c++... z tego by wynikalo ze do otatniej komórki z tabeli nie wolno nic wpisywac? tzn ze ona jest dla picu?... BTW dzieki wielkie juz śmiga.
P-26652
DejaVu
» 2011-01-17 01:47:01
No jak to nie wolno? Pierwszy element zaczyna się od indeksu 0, a ostatni kończy na indeksie ROZMIAR-1, co daje łączną liczbę ROZMIAR elementów.
P-26654
UrbanWrc
Temat założony przez niniejszego użytkownika
» 2011-01-17 02:27:11
no tak... tylko troche bez sensu ze pisze w tych klamrach [4] jak moge uzyc max [3]... W sumie to kwestia przyzwyczajenia ale w pascalu sie troche wygodniej deklaruje te tabele... przynajniej jak napisze ze [0..10] to z tej 10tej tez moge skorzystać i w sumie mam 11 pozycji. moze dla tego nie zauwazylem na poczatku tego bledu... W kazdym raziw wielkie dzieki za pomoc juz przynajmniej ten temat ogarnolem :)
P-26658
DejaVu
» 2011-01-17 02:35:03
Chyba nie rozumiesz tego co wcześniej napisałem.

/edit:
A co do pascala - fakt: jest wygodniej (dla początkującego). Jednak w C++ wiesz że ktokolwiek nie zrobił tablicy to zawsze zaczyna się od indeksu 0, a nie indeksu np. 50, co z definicji jest bardziej komfortowym rozwiązaniem przy pracy zespołowej bądź przy pracy nad większym projektem. Offsety zawsze można sobie przesunąć na siłę jak jest taka potrzeba.
P-26659
« 1 »
  Strona 1 z 1