Zadnie 23
Ostatnio zmodyfikowano 2012-01-09 07:35
kata.mic Temat założony przez niniejszego użytkownika |
Zadnie 23 » 2012-01-08 17:59:32 Rozwiązałem zadanie ale zamiast wypisywać 10 wczytanych elementów wypisuje je plus niechciane jakieś inne litery nie wiem dlaczego. Poniżej kod: #include <iostream> #include <string>
using namespace std;
int main() { int index = 0; int licznik = 1; string tablica[ 10 ]; for( licznik = 1; licznik < 11; licznik++ ) { cout << "Podaj element numer: " << licznik << ": "; cin >> tablica[ index ]; getchar(); index++; }; for( index = 1; index < 11; index++ ) { cout << tablica[ index ] << cout << ", "; index++; }; system( "pause" ); }
|
|
pekfos |
» 2012-01-08 18:03:40 for( licznik = 1; licznik < 11; licznik++ )
A co ma się dziać, jak wczytujesz 11 elementów? cout << tablica[ index ] << cout << ", ";
.. i wyświetlasz cout? |
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2012-01-08 18:13:18 Co do licznika to ma tam chyba jednak być napisane 11 bo wtedy od 1 do 11 pobiera 10 elementów. Poprawilem to nie potrzebne cout i usunąłem inkrementację w drugiej pętli bo wtedy wyświetlało co drugą tylko wartość ale teraz na koncu po przejściu programu mam komunikat:
Unhandled exception at 0x0f501f68 (msvcp100d.dll) in cpp0x.exe: 0xC0000005: Access violation reading location 0xcccccccc. |
|
pekfos |
» 2012-01-08 18:16:02 Liczy się od zera.. |
|
jsc |
» 2012-01-08 18:16:08 Chyba nie doczytałeś: pierwsza komórka ma numer 0, a ostatnia rozmiar - 1. |
|
CodeMeister |
» 2012-01-08 22:54:55 Tam chyba bardziej chodzi o cin - zmien na getline()
skoro wczytuje string-i
poza tym jak masz juz w for() inkrementacje to potem taka sama nie jest potrzebna |
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2012-01-09 01:53:11 GrzesiekR jeśli masz na myśli tą pętlę:
for (licznik=0 ; licznik<10 ; licznik++) { cout << "Podaj element numer: " << licznik << ": "; cin >> tablica[index]; getchar(); index++; };
to jednak okazuje się że jest ona potrzebna bo bez niej program działa ale nie tak jak trzeba, mianowicie nie wyświetla wszystkiego. |
|
CodeMeister |
» 2012-01-09 07:35:32 A nie, sorry - nie doczytalem i myslalem ze to te same zmienne...
A przerobiles na getline() bo cin pobiera tylko jeden znak a reszta zostaje w strumieniu? |
|
« 1 » |