[C++] Liczby podzielne przez x i niepodzielne przez y

paula001
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 5 lis 2014, o 21:16
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 3 razy

[C++] Liczby podzielne przez x i niepodzielne przez y

Post autor: paula001 »

Cześć, mam napisać program, który dla zadanej liczby zestawów danych poda jakie liczby od 1 do n(jakaś wczytywana liczba) są podzielne przez x i niepodzielne przez y, np.:
Wejście:
2
7 2 4
35 5 12
Wyjście:
2 6
5 10 15 20 25 30
Więc napisałam program, ale robię jakiś drobny błąd, bo zamiast wypisać osobno dla każdego przypadku te liczby, laptop wypisuje mi te liczby razem(jakby był tylko 1 przypadek) w kolejności od najmniejszej do największej. Myślę, że robię gdzieś błąd w tablicach, ale nie wiem jak to naprawić. Proszę o pomoc

Kod: Zaznacz cały

#include<iostream>
using namespace std;
int tab[500];
int main()
{ int t, n, x, y, i, a;
cin>>t;
for(a=0; a<t; a++)
{

	cin>>n>>x>>y;
	
	for(i=a; i<n; i++)
	{
		if((i%x==0)&&(i%y!=0)) tab[i]=i;	
	}

}

for(a=0; a<t; a++)
{
	
for(i=a; i<n; i++)
	{
		if(tab[i]!=0) cout<<tab[i]<<" ";
	}
cout<<endl;
}

return 0;
}
Ostatnio zmieniony 9 lis 2014, o 13:42 przez Afish, łącznie zmieniany 2 razy.
Powód: Kod języka programowania wstawiamy w znaczniki [code][/code]
radeck0
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 14 paź 2014, o 16:45
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 9 razy
Pomógł: 1 raz

[C++] Liczby podzielne przez x i niepodzielne przez y

Post autor: radeck0 »

Spróbuj zamknąć w tej pętli:

Kod: Zaznacz cały

for(a=0; a<t; a++)
{
wypisywanie zmiennych. Wtedy powinien wczytać jeden zestaw danych, wypisać go, potem wczytać kolejny i tak dalej. U siebie wczytujesz wszystkie dane od razu.
paula001
Użytkownik
Użytkownik
Posty: 10
Rejestracja: 5 lis 2014, o 21:16
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 3 razy

[C++] Liczby podzielne przez x i niepodzielne przez y

Post autor: paula001 »

Dzięki, zmieniłam tak jak pisałeś. Teraz działa poprawnie
norwimaj
Użytkownik
Użytkownik
Posty: 5101
Rejestracja: 11 mar 2011, o 16:31
Płeć: Mężczyzna
Lokalizacja: 52°16'37''N 20°52'45''E
Podziękował: 4 razy
Pomógł: 1001 razy

[C++] Liczby podzielne przez x i niepodzielne przez y

Post autor: norwimaj »

Tu też jest błąd:
paula001 pisze:

Kod: Zaznacz cały

	for(i=a; i<n; i++)
Numer zestawu danych (a) nie ma tu nic do rzeczy. Liczba i miała być z zakresu od 1 do n (na podstawie kodu domyślam się, że z wyłączeniem n)

Poza tym może lepiej będzie ograniczyć się tylko do liczb podzielnych przez x:

Kod: Zaznacz cały

	for(i = x; i < n; i += x)
	{
		if(i % y != 0) cout << i << " ";	
	}
ODPOWIEDZ