Program do wczytania, sprawdzania i wypisania odpowienich liczb

0

Mam program do napisania o takiej treści:
"wczytuje ciąg liczb nieujemnych aż do wczytania trzech liczb podzielnych przez 3 i jednocześnie niepodzielnych przez 2, a następnie wyświetla ilość liczb niepodzielnych przez 8 oraz pozycję drugiej liczby podzielnej przez 5 we wczytanym ciągu;"

wczytywanie i sprawdzenie czy liczba jest ujemna jest proste, sprawdzenie czy zostały już podane 3 liczby podzielne przez 3 i nie podzielne przez 2 też, i zliczanie liczb niepodzielnych przez 8 też. Ale do drugiej pozycji podzielnej przez 5 nie wiem co napisać. Tablicy jakoś użyć do tego?

Na razie mam coś takiego:

#include <iostream>
#include<conio.h>
#include<cstdlib>
using namespace std;
int main()
{
	int podzielne=0;
	int i=0;
	int tab[2];
	int niepodzielna=0;
	int liczba;
	int pozycja=0;
	int druga_pozycja;
	do{
		do{
		cout<<"Podaj liczbe ujemna: ";
		cin>>liczba;
		}
		while(liczba>=0);//sprawdzenie czy uzytkownik nie podał złej liczby
		++pozycja;
		if(liczba%8!=0){//czy liczba jest niepodzielna przez 8
			++niepodzielna;//zliczanie ilosci niepodzielnych liczb przez 8
		}
		if(liczba%3==0 && liczba%2!=0){//sprawdzenie czy liczba podzielna jest przez 3 i niepodzielna przez dwa
			++podzielne;//jesli warunek prawdziwy to inkrementacja	
		}
		if(liczba%5==0 && i<2){
			tab[i]=liczba;
			i++;
			druga_pozycja=pozycja;
		}
	}
	while(podzielne!=3);//kończy pętlę jesli znajda się 3 liczby podzielne przez 3 i niepodzielne przez 2
	cout<<"ilosc liczb niepodzielnych przez 8: "<<niepodzielna<<endl;
	cout<<tab[1]<<" na pozycji: "<<druga_pozycja;
	
	getch();
    return 0;
	}
0

dwie zmienne:

int LicznikWystapienPodzielnychPrzez5=0,PozycjaWystapieniaDrugiejPodzielnejPrzez5=-1;
0

Dobra. Udało się przy pomocy tablicy. Najpierw kombinowałem aż się pogubiłem, ale się jakoś udało.
Chyba, że ktoś ma jakiś pomysł na inny kod, to bardzo chętnie bym zobaczył jak to uprościć.

0
adrian.widzew napisał(a):

Dobra. Udało się ...
A zadanie czytałeś?

        if(liczba%5==0 && i<2 && (++i==2) ) PozycjaWystapieniaDrugiejPodzielnejPrzez5=PozycjaWczytanejLiczbyWCalymCiagu;
0

Dzięki za zwrócenie uwagi.

Dobra. Poprawione.

1 użytkowników online, w tym zalogowanych: 0, gości: 1