| Vercevales Temat założony przez niniejszego użytkownika | Nie chce utworzyć tablicy znaków » 2010-12-31 19:18:45 #include <iostream>
 int main()
 {
 int ilosc = 4;
 int litery = 6;
 char tab_kraj[ ilosc ][ litery ] = {
 { 'R', 'o', 's', 'j', 'a' },
 { 'P', 'o', 'l', 's', 'k', 'a' },
 { 'N', 'i', 'e', 'm', 'c', 'y' },
 { 'C', 'z', 'e', 'c', 'h', 'y' },
 };
 
 
 int tab_pkt[ ilosc ] = { 4, 18, 9, 13 };
 
 std::cout
 << "|" << " lp " << "|" << " Państwo " << "|" << " Punkty " << "|" << std::endl
 << "-------------------------" << std::endl
 << "|" << " 1 " << "|" << tab_kraj[ 0 ] << " " << "|" << tab_pkt[ 0 ] << "|" << std::endl;
 
 return 0;
 }
 
wywala błąd 
 /home/karol/C++/punkty.cpp||In function ‘int main()’:|
 /home/karol/C++/punkty.cpp|12|error: variable-sized object ‘tab_kraj’ may not be initialized|
 /home/karol/C++/punkty.cpp|15|error: variable-sized object ‘tab_pkt’ may not be initialized|
 ||=== Build finished: 2 errors, 0 warnings ===|
 
 
 | 
|  | 
| ison | » 2010-12-31 19:28:24 | int ilosc = 4;int litery = 6;
 char tab_kraj[ ilosc ][ litery ] = {
 { 'R', 'o', 's', 'j', 'a' },
 { 'P', 'o', 'l', 's', 'k', 'a' },
 { 'N', 'i', 'e', 'm', 'c', 'y' },
 { 'C', 'z', 'e', 'c', 'h', 'y' },
 };
 
 | 
 masz niepotrzebny przecinek ilość liter się nie zgadza, na końcu zawsze musi być znak '\0' - sam zostanie dopisany :) nie musisz się o to martwić, jedyne co to musisz zrobić dla niego miejsce w przypadku ciągu znaków  { 'R', 'o', 's', 'j', 'a' },
możesz zwyczjanie pisać  poza tym nie możesz określać rozmiaru tablicy zmiennymi, które nie są stałe const int ilosc = 4;const int litery = 7;
 char tab_kraj[ ilosc ][ litery ] = {
 { "Rosja" },
 { "Polska" },
 { "Niemcy" },
 { "Czechy" }
 };
 
 | 
|  | 
| DejaVu | » 2010-12-31 19:43:06 A ja dodam od siebie, że błędem jest latać co i rusz o pomoc na forum zamiast samemu pomęczyć się i pokombinować bądź przeczytać jeszcze raz materiały z których się uczysz. | 
|  | 
| Vercevales Temat założony przez niniejszego użytkownika | » 2010-12-31 20:52:58 Dziękuję ison za pomoc :) wystarczyło dodać  const  :) Niestety nie mogę znaleźć zbędnego przecinka (wszystko się już kompiluje) #include <iostream>
 int main()
 {
 const int ilosc = 4;
 const int litery = 6;
 char tab_kraj[ ilosc ][ litery ] = {
 { 'R', 'o', 's', 'j', 'a' },
 { 'P', 'o', 'l', 's', 'k', 'a' },
 { 'N', 'i', 'e', 'm', 'c', 'y' },
 { 'C', 'z', 'e', 'c', 'h', 'y' },
 };
 
 
 int tab_pkt[ ilosc ] = { 4, 18, 9, 13 };
 
 std::cout
 << "|" << " lp " << "|" << " Państwo " << "|" << " Punkty " << "|" << std::endl
 << "-------------------------" << std::endl
 << "|" << " 1 " << "|" << tab_kraj[ 0 ] << " " << "|" << tab_pkt[ 0 ] << "|" << std::endl;
 
 return 0;
 }
 
PS, a gdzie się robi miejsce na '\0' i co on daje ?? | 
|  | 
| ison | » 2010-12-31 21:00:08 const int ilosc = 4;const int litery = 6;
 char tab_kraj[ ilosc ][ litery ] = {
 { 'R', 'o', 's', 'j', 'a' },
 { 'P', 'o', 'l', 's', 'k', 'a' },
 { 'N', 'i', 'e', 'm', 'c', 'y' },
 { 'C', 'z', 'e', 'c', 'h', 'y' },
 };
 
| PS, a gdzie się robi miejsce na '\0' i co on daje ? 
 | 
 mówi gdzie się kończy ciąg znaków, z czasem jak się będziesz uczył o wskaźnikach i dowiesz co to jest tak na prawdę tablica to zrozumiesz jego znaczenie póki co porównaj sobie to co wypiszą te 2 programy: #include <iostream>
 int main()
 {
 char str[ 2 ] = { 'a', 'b' };
 std::cout << str;
 }
 
#include <iostream>
 int main()
 {
 char str[ 3 ] = { 'a', 'b' };
 std::cout << str;
 }
 
uwierz mi na słowo że miejsce na ten znak jest ważne, bez niego zamiast słowa Niemcy
 możesz kiedyś ujrzeć Niemcy89fh9ergfejpgkys5;yr5y | 
|  | 
| Vercevales Temat założony przez niniejszego użytkownika | » 2010-12-31 21:14:34 Bardzo dziękuję. Właśnie mi to uświadomiłeś :) ponieważ: gdy było: wyświetliło 
 | lp | Państwo | Punkty |
 -------------------------
 | 1  |  Rosja PolskaNiemcyCzechy |   4    |
 | 2  |  PolskaNiemcyCzechy |   18   |
 | 3  |  NiemcyCzechy |   9    |
 | 2  |  Czechy |   13   |
 
 
 a gdy dałem: to już wyświetliło dobrze :) 
 | lp | Państwo | Punkty |
 -------------------------
 | 1  |  Rosja  |   4    |
 | 2  |  Polska |   18   |
 | 3  |  Niemcy |   9    |
 | 2  |  Czechy |   13   |
 
 
 Bardzo dziękuję za pomoc :) | 
|  | 
| « 1 » |