Tablica liczy parzyste C++

zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Tablica liczy parzyste C++

Post autor: zxcvkolos »

Witam nie wiem jak napisać program, który pokazuje ile jest liczb (par) parzystych sąsiadujących ze sobą (liczby podaje użytkownik)
Mam program ale on tylko zlicza elementy parzyste jak zrobić żeby zliczał pary liczb parzystych sąsiadujących ze sobą? Z góry dziękuje za pomoc.

Kod: Zaznacz cały

#include <iostream>

using namespace std;

int main(){

const int N=40;

int table[N];

int licznik=0;                        // licznik ktory sumuje ile elementow parzystych znajduje sie w tabeli


for(int i = 0; i<N; i++) table[i]=rand() % 100;
cout << "Elementy calej tabeli: 

";
for(int i = 0; i<N; i++) cout << table[i] << "	";

for(int i=0; i<N; i++){
        if(table[i]%2==0) licznik++;
}

cout << "
W tablicy jest " << licznik << " parzystych elementow.

";

int table2[licznik];                      // tablica ktora zawierac bedzie parzyste elementy
for(int i=0; i<licznik; i++){
        if(table[i]%2==0) table2[licznik]=table[i];
}

       

cout << "Parzyste elementy tabeli: 
";
for(int i=0; i<licznik ; i++) cout << table2[i] << "	";

        system("pause");
        return 0;
}
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Tablica liczy parzyste C++

Post autor: kadiii »

Kod: Zaznacz cały

#include <iostream>
using namespace std;
main()
{
 const int N=40;
 int t[N];
 int t_p[N];
 int licznik=0;
 int i;
 for(i=0;i<N;i++) cin>>t[i];
 //zliczanie parzystych par
 for(i=0;i<N-1;i++)
  if((t[i]%2==0)&&(t[i+1]%2==0))
   licznik++;
 cout<<"W tablicy jest :"<<licznik<<" par sasiednich parzystych elementow"<<endl;
 i=0;
 int j=0;
 while(licznik) /*oczywiscie jesli chcemy zapisac tylko te ktore maja pare, jeśli nie to wystarczy przelecieć petla cala tablice z warunkiem t[i]%2==0 -> j=0 for(i=0;i<N;i++) if(t[i]%2==0){ t_p[j]=t[i]; j++;}*/
 {
  if(t[i]%2==0)
  {
   t_p[j]=t[i];
   licznik--;
   j++;
  }
  i++;
 }
 for(int i=0;i<j;i++) cout<<t_p[i]<<" ";
 return 0;
}
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Tablica liczy parzyste C++

Post autor: zxcvkolos »

mam problem program, kry podale zlicza mi tez liczby pary nieparzyste

Kod: Zaznacz cały

#include <iostream>

int main()

{
	const unsigned short N = 10;
	int t[N];
	int t_p[N];
	int licznik =0;
	int i;


std::cout<<"Zostaniesz poproszony o wpisanie "<<N<<
" liczb. Uwaga liczby nie moga zwierac czesci ulamkowej.
";

	for (i=0; i<N; ++i)
	
	std::cin>>t[i];

	for(i=0; i<N-1; i++)
	
	  if((t[i]%2==0)&&(t[i+1]%2==0))
   		licznik++;
   
std::cout<<"W tablicy jest : "<<licznik<<
" par sasiednich parzystych elementow"<<"
";

	i=0;
	int j=0;
	while(licznik)

	{
		
  		if(t[i]%2==0)
  			{
   				t_p[j]=t[i];
   				licznik--;
   				j++;
  			}
  				i++;
	}

}
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Tablica liczy parzyste C++

Post autor: kadiii »

Podaj jakiś przykład takego wejścia dla którego otrzymujesz złe wyniki.
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Tablica liczy parzyste C++

Post autor: zxcvkolos »

1, 1, 3, 3, 4, 4, 8, 8, 3, 2, i powinno byc 2 a podaje 3
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Tablica liczy parzyste C++

Post autor: kadiii »

Pary:
4 4
4 8
8 8
czyli jak na moje 3. Co do kodu to tamte dalsze wypoisywanie jest nieco źle, ale to nie było twoim pytaniem.
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Tablica liczy parzyste C++

Post autor: zxcvkolos »

dzięki a może rozwinąć wątek co do czego masz zastrzeżenia? Czy sam ten kod jest porawny?

Kod: Zaznacz cały

#include <iostream>

int main()

{
   const unsigned short N = 10;
   int t[N];
  
   int licznik =0;
   int i;


std::cout<<"Zostaniesz poproszony o wpisanie "<<N<<
" liczb. Uwaga liczby nie moga zwierac czesci ulamkowej.
";

   for (i=0; i<N; ++i)
   
   std::cin>>t[i];

   for(i=0; i<N-1; i++)
   
     if((t[i]%2==0)&&(t[i+1]%2==0))
         licznik++;
   
std::cout<<"W tablicy jest : "<<licznik<<
" par sasiednich parzystych elementow"<<"
";


}
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

Tablica liczy parzyste C++

Post autor: kadiii »

Miałem zastrzeżenia do mojego pierwszego postu, jesli chcielibyśmy wpisywać do tablicy liczby, które są parzyste i maja parę to kod powinien wyglądać nieco inaczej.
### Tak, powyższy kod jest dobry
zxcvkolos
Użytkownik
Użytkownik
Posty: 23
Rejestracja: 13 maja 2009, o 21:34
Płeć: Kobieta
Podziękował: 5 razy

Tablica liczy parzyste C++

Post autor: zxcvkolos »

Bardzo prosze o pomoc juz sie w tym kapletnie gubie ;(

ok dzięki rozumien ze liczy liczby parzyste majace pare Bo juz sam nie wiem Baardzo Ci dziękuje za pomoc bo ja juz kompletnie zgłupiałam
ODPOWIEDZ