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

Zadnie 23

Ostatnio zmodyfikowano 2012-01-09 07:35
Autor Wiadomość
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:

C/C++
#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" );
}
P-47617
pekfos
» 2012-01-08 18:03:40
C/C++
for( licznik = 1; licznik < 11; licznik++ )

A co ma się dziać, jak wczytujesz 11 elementów?

C/C++
cout << tablica[ index ] << cout << ", ";
.. i wyświetlasz cout?
P-47619
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.
P-47630
pekfos
» 2012-01-08 18:16:02
Liczy się od zera..
P-47633
jsc
» 2012-01-08 18:16:08
Chyba nie doczytałeś:
pierwsza komórka ma numer 0, a ostatnia rozmiar - 1.
P-47634
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
P-47692
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.
P-47702
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?
P-47704
« 1 »
  Strona 1 z 1