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

Problem z zadaniem... Czy tworzona jest dwuwymiarowa tablicz?

Ostatnio zmodyfikowano 2010-11-10 09:39
Autor Wiadomość
rossd2e
Temat założony przez niniejszego użytkownika
Problem z zadaniem... Czy tworzona jest dwuwymiarowa tablicz?
» 2010-11-09 20:11:32
Problem mój wymieniony jest poniżej w treści zadań

Treść pierwszego zadania.
Ma stworzyć program, któremu podamy miesięczną ilość sprzedanych książek w sztukach.
Program powinien użyć pętli do poproszenia o daje miesiące, korzystające z tablicy char* zainicjalizowanej nazwami miesięcy i zapisującej wczytane dane do tablicy liczb typu int. Następnie program ma wyliczyć sumę wartości tablicy i podać roczną sprzedaż łącznie. a tera to co mam wykonać


Ponownie wykonać wcześniejsze zadanie ale użyć dwuwymiarowej tablicy na dane ze sprzedaży miesięcznej za 3 lata. Podaj łączną sprzedaż w każdym roku i dla wszystkich 3 lat.

Poniżej jest kod


#include <iostream>
#include <string>
#include <cstring>

using namespace std;

const int Rok = 3;                                 //Stałe dla określonych zmiennych
const int Miesiace = 12;

int main()
{
   
      const char * miesiace[Miesiace] =            // tablica wskaźników 12 elementów
 {                                             //każdy element to określony miesiąc
        "Styczen",
        "Luty",
        "Marzec",
        "Kwiecien",
        "Maj",
        "Czerwiec",
        "Lipiec",
        "Sierpien",
        "Wrzesiem",
        "Pazdziernik",
        "Listopad",
        "Grudzien"
  };

        int lata123[Rok][Miesiace] =            //Pusta tablica dwuwymiarowa
        {
            {},{},{}
        };

  int suma = 0, wartosc = 0, rok123 = 0, rok = 1;             //incjacja wartosci dla wymienionych zmienny
 
 
  for (int lata = 0; lata < 3 ; lata++)                     //dane dla pętli do wprowadzenia zmiennych    
   {
    cout << "Ksiarzki wyporzyczone w miesiacach podanego roku : " << rok << endl;       //podaje o który rok nam chodzi
   
     for (int mies = 0; mies < Miesiace; mies++)           //Pętle w której umożliwia wpisywanie wartości w danym miesiącu
        {
            cout << miesiace[mies] << ":\t";            //Pokazuje nazwę danego miesiąca
            cin >> suma;                                //Wprowadzamy wartość dla danego miesiąca
            wartosc = wartosc + suma;                   //Zbieramy wartośći otrzymane w danym miesiącu i dodajemy je do wcześniej otrzymanych
        }
  
    cout << "Wartosc za dany rok " << wartosc << endl ;    


    rok123 = rok123 + wartosc;                          //Pokazuje wartość w danym roku
    rok++;                                              //zmieni wartość na kolejny rok
    }

    cout << " Suma wartosci po trzech latach wynosi : " << rok123 << endl << endl;          //pokazuje wartość po 3 latach

system ("pause");                       //Kończymy program 
return 0;

       
}


Moje pytanie może jest głupie ale czy powstaje z tego dwuwymiarowa tablica oraz czy ten fragment kodu jest potrzebny.

        int lata123[Rok][Miesiace] =            //Pusta tablica dwuwymiarowa
        {
            {},{},{}
        };

Jeżeli nie to proszę o wskazanie błędów

Z góry dziękuje
P-23768
pekfos
» 2010-11-09 20:15:08
kod daj w [cpp] [/cpp]
P-23769
F90M
» 2010-11-09 20:25:27
Wystarczy zrobić tak aby utworzyć pustą tablicę
int lata123[ Rok ][ Miesiace ] = { };

A czy ta tablica jest Ci potrzebna, w podanym kodzie jej nie wykorzystujesz... więc nie.


W tym wypadku nie musisz wpisywać rozmiaru tablicy
C/C++
const char * miesiace[] =
{
    "Styczen",
    "Luty",
    "Marzec",
    "Kwiecien",
    "Maj",
    "Czerwiec",
    "Lipiec",
    "Sierpien",
    "Wrzesiem",
    "Pazdziernik",
    "Listopad",
    "Grudzien"
};
P-23770
rossd2e
Temat założony przez niniejszego użytkownika
» 2010-11-09 20:47:06
Więc ten kawałek kodu tworzy tablicę dwuwymiarową

int suma = 0, wartosc = 0,rok123 = 0, rok = 1;             //incjacja wartosci dla wymienionych zmienny
 
 
  for (int lata = 0; lata < 3 ; lata++)                     //dane dla pętli do wprowadzenia zmiennych  
   {
    cout << "Ksiarzki wyporzyczone w miesiacach podanego roku : " << rok << endl;       //podaje o który rok nam chodzi
 
     for (int mies = 0; mies < Miesiace; mies++)           //Pętle w której umożliwia wpisywanie wartości w danym miesiącu
        {
            cout << miesiace[mies] << ":\t";            //Pokazuje nazwę danego miesiąca
            cin >> suma;                                //Wprowadzamy wartość dla danego miesiąca
            wartosc = wartosc + suma;                   //Zbieramy wartośći otrzymane w danym miesiącu i dodajemy je do wcześniej otrzymanych
        }
 
    cout << "Wartosc za dany rok " << wartosc << endl ;  


    rok123 = rok123 + wartosc;                          //Pokazuje wartość w danym roku
    rok++;                                              //zmieni wartość na kolejny rok
    }
P-23773
pekfos
» 2010-11-09 20:57:16
człowieku, jak zastosujesz [cpp] kod [cpp]
przykład:
C/C++
#include <nic.h>
//i komentarz

to ci się ani dysk nie sformatuje, ani nic złego się nie stanie.
P-23774
rossd2e
Temat założony przez niniejszego użytkownika
» 2010-11-09 21:21:16
Więc ten kawałek kodu tworzy tablicę dwuwymiarową.
C/C++
int suma = 0, wartosc = 0, rok123 = 0, rok = 1; //incjacja wartosci dla wymienionych zmienny


for( int lata = 0; lata < 3; lata++ ) //dane dla pętli do wprowadzenia zmiennych    
{
    cout << "Ksiarzki wyporzyczone w miesiacach podanego roku : " << rok << endl; //podaje o który rok nam   chodzi
   
   
   
    for( int mies = 0; mies < Miesiace; mies++ ) //Pętle w której umożliwia wpisywanie wartości w danym miesiącu
    {
        cout << miesiace[ mies ] << ":\t"; //Pokazuje nazwę danego miesiąca
        cin >> suma; //Wprowadzamy wartość dla danego miesiąca
        wartosc = wartosc + suma; //Zbieramy wartośći otrzymane w danym miesiącu i dodajemy je do wcześniej otrzymanych
    }
   
    cout << "Wartosc za dany rok " << wartosc << endl;
    rok123 = rok123 + wartosc; //Pokazuje wartość w danym roku
    rok++; //zmieni wartość na kolejny rok
}

Za błędy w tworzeniu wcześniejszych postów przepraszam moderatora
P-23775
pekfos
» 2010-11-09 21:50:33
hmmm, gdzie w tym kawałku kodu tworzysz tablicę? w tym fragmencie nawet nie używasz tablicy o której mowa (lata123) a tylko tablice z nazwami miesięcy.

Za błędy w tworzeniu wcześniejszych postów przepraszam moderatora
zawsze możesz edytować wcześniejsze posty.
P-23777
F90M
» 2010-11-10 09:39:52
Gotowiec, dla zadania z tablica dwuwymiarową. Z pierwszym zadaniem myślę że sobie poradzisz.
C/C++
#include <iostream>

using namespace std;

int main() {
    const short nLata = 3;
    const short nMiesiace = 12;
   
    const char * cMiesiac[] =
    {
        "Styczen",
        "Luty",
        "Marzec",
        "Kwiecien",
        "Maj",
        "Czerwiec",
        "Lipiec",
        "Sierpien",
        "Wrzesiem",
        "Pazdziernik",
        "Listopad",
        "Grudzien"
    };
    int iSprzedaneKsiazki[ nLata ][ nMiesiace ] = { };
    int iIloscSprzedanychKsiazekRok;
    int iIloscSprzedanychKsiazekLata = 0;
   
    for( short a = 0; a < nLata; ++a )
    {
        iIloscSprzedanychKsiazekRok = 0;
        cout << "[" << a + 1 << " rok]\nPodaj ilosc sprzedanych ksiazek, dla miesiaca:\n";
        for( short b = 0; b < nMiesiace; ++b )
        {
            cout << cMiesiac[ b ] << ": ";
            cin >> iSprzedaneKsiazki[ a ][ b ];
            iIloscSprzedanychKsiazekRok += iSprzedaneKsiazki[ a ][ b ];
        }
        cout << "\nKsiazki sprzedane w roku " << a + 1 << ": " << iIloscSprzedanychKsiazekRok << "\n\n";
        iIloscSprzedanychKsiazekLata += iIloscSprzedanychKsiazekRok;
    }
    cout << "Podczas " << nLata << " lat, sprzedano " << iIloscSprzedanychKsiazekLata << " ksiazek!";
   
    cin.sync();
    cin.get();
    return 0;
}
P-23785
« 1 »
  Strona 1 z 1