Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aiuto con Esercizio c++

    Dopo mesi di laboriosa ricerca le indagini del commissario Montalbano sull'efferato delitto consumatosi la notte di ferragosto al lungomare di Marinella, si stringono attorno a due principali sospettati: l'Ing.Pino Arcidiacono detto il Brancata, per il suo portamento da capomafa; e il geometra Minuzzo Giarratana, detto il Carcannazzu per il suo raccapricciante aspetto funereo. Entrambi hanno un forte movente.
    Un pizzino di carta ritrovato nella cantina del Brancata sembra però essere la chiave per incastrare uno dei due sospettati. Una frase scritta a penna attira l'attenzione del commissario: “chi perde più partite dovrà farlo...” frmato dal Carcannazzu.
    Accanto il pizzino un foglio di carta con una lunga sequenza di mosse al gioco ZeroPer. Forse quel foglio di carta nasconde il nome dell'assassino.

    Si aiuti il Commissario Montalbano a risolvere il suo caso fornendo un programma C++ che prenda in input il fle contenente la sequenza di mosse al gioco ZeroPer (conosciuto anche come TicTacToe) ed individui il giocatore che ha perso più partite. Si supponga che la prima mossa di ogni nuova partita venga fatta sempre dal Brancata.



    Input
    Si consideri la scacchiera come una matrice 3x3 con indice iniziale pari a 0. Il fle di input contiene la sequenza di mosse al gioco ZeroPer. Ogni mossa è costituita da una coppia di coordinate divise da una virgola e racchiuse tra parentesi tonde. Le coordinate identifcano la casella in cui il giocatore posiziona il suo simbolo. Due mosse distinte possono essere separate da uno spazio o da un carattere di ritorno a capo (il numero di mosse per ogni riga è casuale). Non è presente alcuna separazione per distinguere le mosse di due partite diverse. Dopo la mossa che identifca la fne di una partita segue la mossa di inizio della partita successiva.

    Input.txt :
    codice:
    (1,1) (0,1) (1,0) (2,1) (1,2) (1,2)
    (2,0) (0,1) (0,2) (1,1) (2,2) (2,1) (1,0) (1,2)
    (2,0)
    (0,0) (1,1) (0,2) (2,1)
    (2,2)
    (2,2) (1,0)
    (2,1) (1,2) (0,1) (0,2) (2,0) (1,1) (2,0)
    (0,2) (2,1) (0,0) (0,1) (1,2) (2,2) (1,2) (0,0)
    (1,1) (0,2) (2,0)
    (0,1) (2,2)
    Output
    Il fle di output contiene la lista dei risultati di ogni singola partita, uno per riga. Devono essere segnalate anche le partite fnite con un risultato pari. Le ultime due righe forniscono il numero di partite vinte da ciascuno dei due indiziati, uno per riga (il reseconto del Brancata precede il resoconto del Carcannazzu).

    Output.txt :
    codice:
    partita n.1 vinta dal Brancata
    partita n.2 vinta dal Brancata
    partita n.3 vinta dal Carcannazzu
    partita n.4 finita pari
    partita n.5 vinta dal Carcannazzu
    partita n.6 vinta dal Carcannazzu
    partita n.7 vinta dal Brancata
    partita n.8 vinta dal Brancata
    Il Brancata ha vinto 4 partite
    Il Carcannazzu ha vinto 3 partite
    Non riesco a capire come fare il tictactoe dal file çWç
    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    
    
    using namespace std;
    
    
    
    
    void printmatrix(int matrix[][3], int rows)
    {
    	for (int row = 0; row < rows; row++)
    	{
    		for (int col = 0; col < 3; col++)
    			cout << matrix[row][col] << " ";
    		cout << endl;
    	}
    
    
    }
    
    
    
    
    int main()
    {
    	ifstream input;
    	ofstream output;
    	input.open("input.txt"); // Apro il file di input
    	output.open("output.txt"); // Creo o sovrascrivo il file di output
    	string posizione;
    	int Brancata = 1;
    	int Carcannazzu = 2;
    	int x = 0 ;
    	int scacchiera[3][3] = { 0 };// Scacchiera = matrice 3x3 con indice iniziale pari a 0
    	//Inizia sempre 1
    	//1 = Brancata
    	//2 = Carcannazzu
    	while (!input.eof())
    	{
    		input >> posizione;
    
    
    	
    		if (posizione == "(0,0)")
    		{
    			scacchiera[0][0] = x;
    		}
    		if (posizione == "(0,1)")
    		{
    			scacchiera[0][1] = x;
    		}
    		if (posizione == "(0,2)")
    		{
    			scacchiera[0][2] = x;
    		}
    		if (posizione == "(1,0)")
    		{
    			scacchiera[1][0] = x;
    
    
    		}
    		if (posizione == "(1,1)")
    		{
    			scacchiera[1][1] = x;
    
    
    		}
    		if (posizione == "(1,2)")
    		{
    			scacchiera[1][2] = x;
    		}
    		if (posizione == "(2,0)")
    		{
    			scacchiera[2][0] = x;
    		}
    		if (posizione == "(2,1)")
    		{
    			scacchiera[2][1] = x;
    		}
    		if (posizione == "(2,2)")
    		{
    			scacchiera[2][2] = x;
    		}
    	
    	
    		
    	}
    	
    	
    	
    	
    	printmatrix(scacchiera, 3);
    
    
    	
    	
    
    
    
    
    	system("pause");
    		return 0;
    }
    Ultima modifica di MItaly; 06-04-2014 a 21:53 Motivo: Aggiunti tag CODE, rimossi tag di formattazione inutili

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Al di là della divertente impostazione del problema, la tua domanda qual è?

    Qui si fanno specifici quesiti non si scrivono interi programmi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

    Moderazione

    Oltre a quanto già detto da oregon, ti ricordo che il codice va racchiuso tra tag CODE, altrimenti perde l'indentazione; qui ho provveduto io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.