Ir ao conteúdo
  • Cadastre-se

felesmar rodrigues

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Oi pessoal n estou conguindo fazer um exercicio de logica de programacao de funcoes.Sera que vocês podem me ajudar a desenvolver o raciocinio para resolver o exercicio. Obrihado pela ajuda o enunciado esta abaixo. Desenvolva um algoritmo em linguagem C que recebe as jogadas feitas pelos dois jogadores e determina o resultado da partida. O algoritmo deverá ler as coordenadas de cada jogada enquanto a partida não acabar. Com cada jogada, seu algoritmo deverá chamar uma função que verifica se o jogo acabou (retorna 1) ou se ainda existem jogadas a serem feitas (retorna 0). A função também deverá dizer qual foi o jogador vencedor (1 ou 2) ou se acabou em empate, além das jogadas que venceram a partida (as 3 coordenadas, caso tenha um vencedor). As variáveis para o vencedor e as jogadas vencedoras deverão ser passadas por referência e alteradas dentro da função. Ao final da partida devem ser mostrados na tela o resultado com o vencedor e as jogadas vencedoras, ou se terminou em empate. ENTRADA A entrada contém as coordenadas de cada jogada no formato (x, y), onde x é a coluna [1 : 3] e y a linha [1 : 3]. Os valores x e y são separados por um espaço simples e devem ser lidos enquanto o jogo não acabar, começando com o jogador 1 e alternando entre os dois até o final. O estado do jogo (tabuleiro) pode ser armazenado em uma matriz 3x3, e passada como parâmetro para a função que avalia o estado do jogo. Os dados devem ser lidos do dispositivo padrão (teclado). SAÍDA Seu programa deve imprimir, na saída padrão (tela), o resultado da partida como "Jogador x venceu!" caso tenha um vencedor ou "Empate!" caso tenha terminado em empate. Além disso, se tiver um vencedor, também deverá imprimir as 3 coordenadas que venceram o jogo. As coordenadas deverão estar ordenadas de forma crescente com prioridade para as linhas
  2. Ola bom dia,esqueci de colocar o código que fiz,eu peço desculpas, bom pessoal meu problema e eu fiz como descrito na tarefa porém em casos onde eu digito por exemplo uma matriz 3 3 onde o 1 fica no centro o codigo tinha que imprimir somente valores com 1 no lugar de zero porém em alguns casos parece que a soma acumula e aparece 2.Sera que vocês podem me ajudar agradeço a ajuda. Segue o codigo abaixo #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define M 42 int main() { int p[M][M],n,m,res[M][M],soma=0,i,k,j,l,d=0; scanf("%d%d",&n,&m); for( i=0; i<n; i++) { for( k=0; k<m; k++) { scanf("%d",&p[k]); } } for( i=0; i<n; i++) { for( k=0; k<m; k++) { if(p[k]==0) { if (i!=0&&k!=0) { if(p[i-1][k-1]==1) soma++; } if (i!=0) { if(p[i-1][k]==1) soma++; } if(i!=0&&k!=m) { if(p[i-1][k+1]==1) soma++; } if(k!=0) { if(p[k-1]==1) soma++; } if(i!=n&&k!=0) { if(p[i+1][k-1]==1) soma++; } if(k!=m) { if(p[k+1]==1) soma++; } if(i!=n) { if(p[i+1][k]==1) soma++; } if(i!=n&&k!=m) { if(p[i+1][k+1]==1) soma++; } if(soma>d) d=soma; soma=0; res[k]=d; p[k]=p[k]+res[k]; d=0; } } } for( j=0; j<n; j++) { for(l=0; l<m; l++) { if (l<m-1){ printf("%d ",p[j][l]); }else{ printf("%d",p[j][l]); } } //if(j<n-1){ printf("\n"); //} } }
  3. Ola bom dia pessoal Eu faco a disciplina de logica de programacao na facul porém tenho muitas dificuldades. Sera que vocês poderiam me ajudar a resolver esse exercicio de programacao. O enunciado estara abaixo: DEFINIÇÃO DO PROBLEMA Você está viajando para uma cidade turística e gostaria de visitar o maior número de atrações que conseguir. Porém a cidade possui um número enorme de pontos turísticos e será muito difícil visitar todas as atrações. O mapa da cidade é dividido em quarteirões quadrados e cada quarteirão possui uma atração, exceto os que possuem uma estação de metrô. Nela existe um excelente sistema de transporte urbano com metrôs, porém outros tipos de locomoção não são tão eficientes. Por esse motivo você decidiu fazer sua rota com paradas somente em pontos turísticos que ficam próximos às estações. Com isso em mente, você quer saber quais estações possuem o maior número de atrações turísticas ao seu redor. TAREFA Desenvolva um algoritmo em linguagem C que recebe o tamanho do mapa com lar- gura x e altura y e uma matriz de tamanho (x, y) contendo zeros e uns. O tamanho do mapa pode variar, com as dimensões x e y definidas entre 12 ≤ x ≤ 42 e 12 ≤ y ≤ 42. Cada posição da matriz representa um quarteirão, os zeros indicam os quarteirões que possuem estações de metrô e os uns os que possuem atrações turísticas. Com isso você deve contar, para cada estação, o número de atrações que existem ao seu redor. Para cada quarteirão, considere os 8 quarteirões vizinhos, porém lembre-se de cuidar dos casos em que a estação está nas bordas do mapa. Após fazer a contagem para cada estação, substitua o valor 0 pelo total de atrações ao redor. A saída do algo- ritmo deve ser a matriz com os 1’s originais e os 0’s substituídos pelo total de atrações vizinhas. ENTRADA A entrada contém uma linha com o tamanho (x, y) do mapa, onde x é a largura e y a altura, e outras y linhas com os valores da matriz. Esses dados devem ser lidos do dispositivo padrão (teclado). • Tamanho do mapa (x, y), com 12 ≤ x ≤ 42 e 12 ≤ y ≤ 42. • A quantidade de atrações ao redor de cada estação é a somatória (soma) das 8 posições ao seu redor. Considerando i o índice da coluna e j o índice da linha, os 8 vizinhos de (i, j) são: 1 1 1 (i − 1, j − 1) (i, j − 1) (i + 1, j − 1) 1 0 1 -> (i − 1, j) (i, j) (i + 1, j) 1 1 1 (i − 1, j + 1) (i, j + 1) (i + 1, j + 1) • O resultado (res) de cada posição (i, j) da matriz deve ser 1 ou a quantidade de atrações ao redor, da seguinte forma: resij = ( 1 , caso a posição ij tenha uma atração (1); soma , caso a posição ij tenha uma estação (0). • As estações podem estar nas bordas do mapa, possuindo menos do que 8 vizinhos, portanto verifique se os vizinhos são posições válidas no mapa. SAÍDA Seu programa deve imprimir, na saída padrão (tela), a matriz com os 1’s originais e os 0’s substituídos pelo número de vizinhos ao seu redor. Cada posição da matriz é separada por um espaço simples, e cada linha da matriz deve terminar com uma nova linha (’\n’). O exemplo abaixo mostra como deve ser a saída do programa. 1 1 1 1 8 1 1 1 1 Obrigado pela ajuda pessoal

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...