Jak porównać dwie, kolejne liczby z dwóch plików tekstowych z tych samych linijek? Code Block C++
Witam, to znowu ja, mam problem z następującym zadaniem:
Dane są dwa pliki tekstowe: gracz1.txt i gracz 2.txt. Każdy z nich zawiera taka samą ilość liczb naturalnych z przedziału [0,100], są to liczby wylosowane odpowiednio przez gracza 1. i gracza 2. W każdej rundzie gry są porównywane liczby z odpowiadających sobie wierszy w tych dwóch plikach. Dany gracz wygrywa rundę, jeśli jego liczba jest większa, przegrywa, gdy jego liczba jest mniejsza, a gdy liczby są równe wynikiem jest remis. Całą grę wygrywa gracz z większą liczbą wygranych rund.
Napisz program, który wypisze na ekranie numer gracza, który wygrał całą grę.
Póki co udało mi się sprawić, aby program wylosował liczby z przedziału od 0 do 100 dla dwóch graczy i zapisał je w odpowiednich plikach.
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <time.h>
#include <fstream>
int n, d;
using namespace std;
int const zk = 100;
ifstream we( "gracz1.txt" );
ofstream wy( "gracz1.txt" );
ifstream we2( "gracz2.txt" );
ofstream wy2( "gracz2.txt" );
void losuj( int k, int * t )
{
for( int i = 0; i < k; i++ )
t[ i ] = rand() % zk;
}
void wypisz( int k, int * t )
{
for( int i = 0; i < k; i++ )
{
cout << t[ i ] << " ";
wy << t[ i ] << endl;
}
}
void losuj2( int k, int * t )
{
for( int i = 0; i < k; i++ )
t[ i ] = rand() % zk;
}
void wypisz2( int k, int * t )
{
for( int i = 0; i < k; i++ )
{
wy2 << t[ i ] << endl;
}
}
int main()
{
srand( time( NULL ) );
int n;
cout << "Podaj liczbe elemntow" << endl;
cin >> n;
int a[ n ];
losuj( n, a );
wypisz( n, a );
losuj2( n, a );
wypisz2( n, a );
we.close();
wy.close();
we2.close();
wy2.close();
return 0;
}
Niestety tutaj moja wiedza się kończy i mam jedynie jakiś mętny pomysł co dalej:
Po wszystkich losowaniach i wypisaniach, zrobiłbym pętle np. "for" która wczytałaby by wartości z pierwszej linijki z obu plików a po każdym przejściu zwiększałaby numer linijki o 1 ( na następną).W tej pętli byłaby kolejna pętla np. "if" która porównałaby te dwie liczby i dodawałaby za każdym przejściem punkt dla gracza którego liczba okazała się większa. Wszystko wykonywałoby się tak długo, aż zabrakło by liczb, czyli do momentu kiedy liczba przejść zrównałaby się z liczbą elementów tablicy, podaną przez użytkownika. Potem nastąpiłoby już tylko porównanie punktów graczy i gotowe. Ale to tylko pomysł i nie mam pojęcia jakby to napisać.
Problem właśnie w tym, że nie wiem jak miałoby wyglądać polecenie które wczytywałoby i porównywałoby linijki z tych dwóch plików tekstowych i nigdzie jakoś nie mogę tego znaleźć, a na lekcje na których uczęszczam nie było to omawiane. Wszędzie znajduje tylko informację jak się zamyka i otwiera pliki teksowe i zapisuje do nich dane, ale niestety nic więcej.