Strona 1 z 1

[C++] Wypisanie ostatnich liczb parzystych

: 24 sty 2013, o 13:08
autor: marcixe12
Napisać program, który wypisuje cztery ostatnie liczby parzyste z tablicy liczb całkowitych zachowując ich kolejność.

Kod: Zaznacz cały

A[14]={5,-3,25,13,-3,0,9,8,212,-32,152,25,20,3}
udało mi sie napisac tylko ze wypisuje parzyste pomożecie


Kod: Zaznacz cały

#include <iostream>
 
 
using namespace std;
int main ()
{
     int tab[]={5,-3,25,13,-3,0,9,8,212,-32,152,25,20,3};
      int a=0,n,k ;  
 
     for(int i=0 ; i<14  ; i++)
     {
 
      if (tab[i]%2==0) 
        cout<<tab[i]<<"  "<<endl;
 
}
 
 
 
           system("pause");
             }
 

[C++] Wypisanie ostatnich liczb parzystych

: 24 sty 2013, o 13:31
autor: kam_new93
ja bym zadeklarowal tablice N elementową a nastepnie dodał taki warunek:
\(\displaystyle{ if(i==N-4){}\) N - liczba elementow tablicy
wypisz tab;\(\displaystyle{ }}\)

[C++] Wypisanie ostatnich liczb parzystych

: 24 sty 2013, o 17:44
autor: marcixe12
nie bardzo rozumiem jak to zastosować

[C++] Wypisanie ostatnich liczb parzystych

: 24 sty 2013, o 17:48
autor: Althorion
Musisz mieć gdzie przetrzymać liczby parzyste z tablicy. Dobrym pomysłem byłoby użycie kolekcji vector z biblioteki standardowej (choć bez tego też można sobie poradzić, będzie to wymagać jednak znacznie więcej kodu). Algorytm w ogólnym zarysie wyglądałby tak — przeglądasz tablicę, dodajesz wszystkie liczby parzyste z niej do wektora, następnie drukujesz cztery ostatnie elementy wektora.

[C++] Wypisanie ostatnich liczb parzystych

: 24 sty 2013, o 19:05
autor: royas
Tablica lub lepiej stos na przechowanie tych liczb. Przeglądasz daną tablicę od tyłu aż znajdziesz cztery liczby. Potem je wypisujesz.

[C++] Wypisanie ostatnich liczb parzystych

: 25 sty 2013, o 09:03
autor: Althorion
Ani tablica, ani stos, obawiam się. Jeszcze tablicą miało by to jakiś sens (chociaż trzeba najpierw poznać jej rozmiar albo ją redeklarować co chwila), to stos jest przecież typu LIFO, a w poleceniu chcą by nie zmieniać kolejności tych liczb.

[C++] Wypisanie ostatnich liczb parzystych

: 25 sty 2013, o 09:22
autor: Ser Cubus
hmm, są 2 banalne metody, 1 to jak ktoś już wspomniał, użycie tablicy pomocniczej, a inna może być np taka

deklarujemy

Kod: Zaznacz cały

int liczba_parz = 0
, przeszukujemy tablicę od końca, jeżeli napotkamy liczbę parzystą, to

Kod: Zaznacz cały

liczba_parz++;
, jeżeli \(\displaystyle{ liczba_parz == 4}\) to zapamiętaj indeks i od tego indeksu wypisuj kolejne napotkane liczby w tablicy

[C++] Wypisanie ostatnich liczb parzystych

: 25 sty 2013, o 10:12
autor: royas
Althorion, ale daną tablicę przeglądamy od końca, czyli ostatnia liczba parzysta ląduje najgłębiej w stosie.

[C++] Wypisanie ostatnich liczb parzystych

: 25 sty 2013, o 10:31
autor: arcan
Ja bym zrobił taką pętlę

Kod: Zaznacz cały

int w=14;
for(int x=0;x<4;w--)
{

if(tab[w]mod2==0)
{
x++;
Cout << tab[w]; << "[]";
}}
Nie ma teraz kompa, więc nie moge skompilować, ale powinno działać

[C++] Wypisanie ostatnich liczb parzystych

: 25 sty 2013, o 10:37
autor: Althorion
royas pisze:Althorion, ale daną tablicę przeglądamy od końca, czyli ostatnia liczba parzysta ląduje najgłębiej w stosie.
A tak. Nie wiem dlaczego chciałem przeglądać całą tablicę (wtedy miałbym cztery pierwsze liczby parzyste we właściwej kolejności, zamiast czterech ostatnich) . Faktycznie stos nadaje się więc do tego najlepiej.

[C++] Wypisanie ostatnich liczb parzystych

: 26 sty 2013, o 13:21
autor: marcixe12
nie wiem cos takiego tylko wyświetla 78 20 152 -32

Kod: Zaznacz cały

#include <iostream>

using namespace std;
int main ()
{
     int tab[]={5,-3,25,13,-3,0,9,8,212,-32,152,25,20,3};
     int w=14; 
 
     for(int x=0 ; x<4  ; w--)
     {
 
      if (tab[w]%2==0 )
      {
      x++ ;   
     cout << tab[w]<<endl;
 
}
}
      system("pause");
}

[C++] Wypisanie ostatnich liczb parzystych

: 26 sty 2013, o 13:35
autor: Afish
Na starcie wyjeżdżasz poza tablicę. To samo zrobisz, gdy w tablicy nie będzie czterech liczb parzystych.

[C++] Wypisanie ostatnich liczb parzystych

: 26 sty 2013, o 13:41
autor: m-2
I wyświetla w złej kolejności. Proponuję użyć rekurencji.
np.
Ukryta treść: