C++ obliczenie ilości spełnionych warunków

0

Mam napisać program ze spoja:

WEKTORY

Mamy dane n współrzędnych wektorów (będące liczbami całkowitymi z zakresu <-500;500>) w formacie: x y (pierwsza_współrzędna odstęp druga_współrzędna).

Napisz program, który wypisze na standardowe wyjście listę wektorów równoległych do osi OX lub OY oraz w ostatnim wierszu ich liczbę.
Przykład:

Dla danych wejściowych:

5
0 1
2 2
4 4
5 0
10 10
Poprawną odpowiedzią jest:
0 1
5 0
2

Mój kod programu wygląda tak:

#include <iostream>

using namespace std;

int main ()
{
int t;
int x,y;

cin>> t;

for(int i=0; i<t; ++i){

cin>>x;
cin>>y;

if (x== 0)
{
cout<<x;
cout<< " ";
cout<<y;
cout<<endl;
}
else if (y== 0)
{
cout<<x;
cout<<" ";
cout<<y;
cout<<endl;
}
}

system ("pause");
return 0;
}

Kompiluje i działa ja należy tylko jak policzyć ilość warunków, w których y==0 albo x==0?
Proszę o wskazówkę, a najlepiej napisanie tej linijiki programu, która to wykona.

Z góry dziękuję i proszę o wyrozumiałość, gdyż dopiero zaczynam programować...

0
int main ()
{
    int t,ileX,ileY;
    int x,y;
    ileX=0;
    ileY=0;
   
    cin>> t;

    for(int i=0; i<t; ++i)
    {
       cin>>x;
       cin>>y;

       if (x==0)
       {
           cout<<x;
           cout<< " ";
           cout<<y;
           cout<<endl;
           ileX++;
       }
       if (y==0)
       {
           cout<<x;
           cout<<" ";
           cout<<y;
           cout<<endl;
           ileY++;
       }
  }
  //tu wypisz ileX i ileY  
  system ("pause");
  return 0;
}
0

Dzięki wielkie. Przydało się! Temat do zamknięcia. . :)

0

Trochę za wcześnie zamykasz temat. Oba rozwiązania: Twoje ze słowem else, i moje bez tego słowa mają usterkę. Ujawni się ona gdy pojawi się wektor (0,0). Moje rozwiązanie policzy (słusznie), że ten wektor jest równoległy do obu osi, ale niepotrzebnie wypisze go dwa razy. Twoje rozwiązanie wypisze wektor raz, ale zaliczy go tylko do wektorów równoległych do osi 0Y.

0

Na cpp się nie znam...
Ale w delphi, to jakoś tak:

if (y=0) and (x <> 0) then
begin
//coś tam
end else
 Inc(IleY); //IleY++

Chyba się nie pomyliłem, jeśli tak, to sorki, ponieważ jeszcze śpię :)
Może ktoś to przerobi na cpp.

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