[C++]Tablica statyczna - znacznik końca

Andreas
Użytkownik
Użytkownik
Posty: 1130
Rejestracja: 1 lis 2008, o 22:33
Płeć: Mężczyzna
Podziękował: 72 razy
Pomógł: 156 razy

[C++]Tablica statyczna - znacznik końca

Post autor: Andreas »

Co nie poszło? Konkretnie.

Po "cin" możesz dodać jeszcze ifa, żeby nie wczytywał następnego elementu do tablicy. np.

Kod: Zaznacz cały

while (n>0)
    {
	cin >> n;
	if (n==0) break;
	tab[i]=n;
	...
    }
Mazowsze
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 27 lis 2012, o 15:17
Płeć: Mężczyzna
Lokalizacja: tak

[C++]Tablica statyczna - znacznik końca

Post autor: Mazowsze »

Czyli to :

Kod: Zaznacz cały

 do {
      cout << "Podaj liczbe elementow: "; cin >> n;
   } while ((n > maxRozmiar) && (n < 0));
całkiem usunać ?
Andreas
Użytkownik
Użytkownik
Posty: 1130
Rejestracja: 1 lis 2008, o 22:33
Płeć: Mężczyzna
Podziękował: 72 razy
Pomógł: 156 razy

[C++]Tablica statyczna - znacznik końca

Post autor: Andreas »

No tak. Pętle do while wywal. To co wewnątrz zostaw.
Po co ci w ogóle zmienna maxRozmiar?
Czy wiesz co znaczy:
while ((n > maxRozmiar) && (n < 0))
?
Dopóki n jest większe od zera i (!) n jest mniejsze od zera.
Czyli nigdy.
Mazowsze
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 27 lis 2012, o 15:17
Płeć: Mężczyzna
Lokalizacja: tak

[C++]Tablica statyczna - znacznik końca

Post autor: Mazowsze »

Nie no poległem, nie wiem jak to zastosować......Ten warunek mam dać w pętli for ? czy nad nią(w sensie że obejmujący ją)
Andreas
Użytkownik
Użytkownik
Posty: 1130
Rejestracja: 1 lis 2008, o 22:33
Płeć: Mężczyzna
Podziękował: 72 razy
Pomógł: 156 razy

[C++]Tablica statyczna - znacznik końca

Post autor: Andreas »

Ale nie napisałeś mi co chcesz zrobić. Wczytujesz liczby zakończone zerem czy masz podaną liczbę elementów? Jeśli to pierwsze, to nie będzie pętli for, bo nie wiesz ile będzie liczb.
Mazowsze
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 27 lis 2012, o 15:17
Płeć: Mężczyzna
Lokalizacja: tak

[C++]Tablica statyczna - znacznik końca

Post autor: Mazowsze »

Zakończone zerem
Andreas
Użytkownik
Użytkownik
Posty: 1130
Rejestracja: 1 lis 2008, o 22:33
Płeć: Mężczyzna
Podziękował: 72 razy
Pomógł: 156 razy

[C++]Tablica statyczna - znacznik końca

Post autor: Andreas »

Kod: Zaznacz cały

    cout << "Podaj elementy ciagu: ";
    int i=0;
    int a=1;
    while (a!=0)
    {
        cin >> a;
        if (a==0) break;
        tab[i]=a;
        i++;
    }
Wcześniej musisz jeszcze zadeklarować tablicę o jakimś rozmiarze. W zadaniu na pewno masz podane coś w stylu "dany jest ciąg co najwyżej 1xxx-elementowy, zakończony zerem".
Mazowsze
Użytkownik
Użytkownik
Posty: 25
Rejestracja: 27 lis 2012, o 15:17
Płeć: Mężczyzna
Lokalizacja: tak

[C++]Tablica statyczna - znacznik końca

Post autor: Mazowsze »

Zrobiłem tak, ale nie wyświetla mi elementów które podałem......

Kod: Zaznacz cały

#include<iostream>

using namespace std;

int main(){
int tab[100];


 cout << "Podaj elementy ciagu: ";
    int i=0;
    int a=1;
    while (a!=0)
    {
        cin >> a;
        if (a==0) break;
        tab[i]=a;
        i++;
    }
    cout<<"Podane elementy to: "<<tab[i];

        return 0;
        }
Andreas
Użytkownik
Użytkownik
Posty: 1130
Rejestracja: 1 lis 2008, o 22:33
Płeć: Mężczyzna
Podziękował: 72 razy
Pomógł: 156 razy

[C++]Tablica statyczna - znacznik końca

Post autor: Andreas »

Bo wypisujesz tylko pierwszy wyraz ciągu, a nie wszystkie.
ODPOWIEDZ