Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void exibir_campos(int **campoA, int **campoB, int m, int n) {
- printf("Campo A:\n");
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- if (campoA[i][j] == -1) {
- printf("x");
- } else {
- printf("%d", campoA[i][j]);
- }
- if (j < n - 1) {
- printf(" ");
- }
- }
- printf("\n");
- }
- printf("Campo B:\n");
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- if (campoB[i][j] == -1) {
- printf("x");
- } else {
- printf("%d", campoB[i][j]);
- }
- if (j < n - 1) {
- printf(" ");
- }
- }
- printf("\n");
- }
- }
- void ocorrer_turnos(int **campoA, int **campoB, int turnos) {
- int pontos_jogadorA = 0, pontos_jogadorB = 0;
- int c_i, c_j;
- for (int i = 0; i < turnos; i++) {
- scanf("%d %d", &c_i, &c_j);
- if (campoB[c_i][c_j] > 0) {
- campoB[c_i][c_j] = -1;
- pontos_jogadorA++;
- }
- scanf("%d %d", &c_i, &c_j);
- if (campoA[c_i][c_j] > 0) {
- campoA[c_i][c_j] = -1;
- pontos_jogadorB++;
- }
- }
- if (pontos_jogadorA > pontos_jogadorB) {
- printf("Jogador A ganhou!\n");
- } else if (pontos_jogadorA < pontos_jogadorB) {
- printf("Jogador B ganhou!\n");
- } else {
- printf("Empate!\n");
- }
- }
- void determinar_posicao(int **campoA, int **campoB, int navios) {
- int i, j;
- for (int k = 0; k < navios; k++) {
- scanf("%d %d", &i, &j);
- campoA[i][j]++;
- }
- for (int k = 0; k < navios; k++) {
- scanf("%d %d", &i, &j);
- campoB[i][j]++;
- }
- }
- int main() {
- int m, n;
- scanf("%d %d", &m, &n);
- int **campoA = (int **)calloc(m, sizeof(int *));
- int **campoB = (int **)calloc(m, sizeof(int *));
- for (int i = 0; i < m; i++) {
- campoA[i] = (int *)calloc(n, sizeof(int));
- campoB[i] = (int *)calloc(n, sizeof(int));
- }
- int navios;
- scanf("%d", &navios);
- determinar_posicao(campoA, campoB, navios);
- int turnos;
- scanf("%d", &turnos);
- ocorrer_turnos(campoA, campoB, turnos);
- exibir_campos(campoA, campoB, m, n);
- for (int i = 0; i < m; i++) {
- free(campoA[i]);
- free(campoB[i]);
- }
- free(campoA);
- free(campoB);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment