Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''matriz''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Pessoal! Como faço para ler um numero inteiro 'n' e a partir dele fazer uma matriz [n][n]??? Só acho exemplos de matrizes já definidas :/
  2. Galera, estou apanhando um pouco para Javascript rs, preciso fazer uma função para que quando eu clique numa imagem ela meio que desapareça, mas nao estou conseguindo, segue abaixo o meu trecho de código <html> <head> <script type="text/javascript"> var x, y; var ctx; var m=[]; var v=[] var i, j; var apagar1 = document.getElementById("i1"); function inicio() { var c=document.getElementById("cnv") ctx=c.getContext("2d"); fundo(); for(i=0;i<20;i++) { m[i]=[]; v[i]=[]; } for(i=0;i<20;i++){ for(j=0;j<20;j++){ m[0][0]=document.getElementById("i1"); m[0][1]=document.getElementById("i2"); m[0][2]=document.getElementById("i3"); }} num1(); } function fundo() { ctx.fillStyle="#000000"; ctx.fillRect(0,0,1300,600); } function num1(){ ctx.drawImage(m[0][0],100,100); ctx.drawImage(m[0][1],200,200); ctx.drawImage(m[0][2],600,525);} </script> </head> <body onload="inicio()"> <canvas id="cnv" width="1300" height="600" style="border: solid 1px black; margin: 0px auto; display: block;"> Navegador sem suporte <img src="link da img 1" id="i1"> <img src="link da img 2" id="i2"> <img src="link da img 3" id="i3"> </canvas> </body> </html> Posso utilizar somente Javascript, se puderem me ajudar eu ficaria muito agradecido, estou meio que desesperado kkkk
  3. Galera, estou apanhando um pouco para Javascript rs, preciso fazer uma função para que quando eu clique numa imagem ela meio que desapareça, mas nao estou conseguindo, segue abaixo o meu trecho de código <html> <head> <script type="text/javascript"> var x, y; var ctx; var m=[]; var v=[] var i, j; var apagar1 = document.getElementById("i1"); function inicio() { var c=document.getElementById("cnv") ctx=c.getContext("2d"); fundo(); for(i=0;i<20;i++) { m[i]=[]; v[i]=[]; } for(i=0;i<20;i++){ for(j=0;j<20;j++){ m[0][0]=document.getElementById("i1"); m[0][1]=document.getElementById("i2"); m[0][2]=document.getElementById("i3"); }} num1(); } function fundo() { ctx.fillStyle="#000000"; ctx.fillRect(0,0,1300,600); } function num1(){ ctx.drawImage(m[0][0],100,100); ctx.drawImage(m[0][1],200,200); ctx.drawImage(m[0][2],600,525);} </script> </head> <body onload="inicio()"> <canvas id="cnv" width="1300" height="600" style="border: solid 1px black; margin: 0px auto; display: block;"> Navegador sem suporte <img src="link da img 1" id="i1"> <img src="link da img 2" id="i2"> <img src="link da img 3" id="i3"> </canvas> </body> </html> Posso utilizar somente Javascript, se puderem me ajudar eu ficaria muito agradecido, estou meio que desesperado kkkk
  4. Pessoal, bom dia. Estou com um projeto para fazer na qual preciso saber como colocar imagem numa matriz, como posso fazer isso ? Posso utilizar somente Javascript, a minha ideia é fazer tipo um jogo da velha, valeu !!
  5. Amigos, estou tentando criar sublistas a partir de uma matriz para segmentar células que estão conectadas, como por exemplo a matriz abaixo: Dessa matriz obtenho essa lista com as células pintadas: lista = [[1, 1], [2, 1], [2, 2], [2, 3], [2, 5], [2, 6], [3, 2], [3, 5], [3, 6], [6,1], [6, 4], [6, 5], [7,1], [7, 4], [7, 5]] Desejo como resultado, sublistas com as células amarelas, agrupadas assim: [[1, 1], [2, 1], [2, 2], [2, 3], [3, 2]], [[2, 5], [2, 6], [3, 5], [3, 6]] [[6,1], [7,1]] [[6, 4], [6, 5], [7, 4], [7, 5]] Não sei se é possível, mas até o momento, com a função abaixo: def group_by_diff(group, diff=1): container = [] new_group = [group[0]] for i in range(1,len(group)): if((group[i][0] - group[i-1][0] > diff) or (group[i][1] - group[i-1][1] > diff)): container.append(new_group) new_group = [group[i]] else: new_group.append(group[i]) if(len(new_group) > 0): container.append(new_group) return container Eu consigo esse resultado somente: [[1, 1], [2, 1], [2, 2], [2, 3]], [[2, 5], [2, 6], [3, 2]], [[3, 5], [3, 6]], [[6, 1]], [[6, 4], [6, 5], [7, 1]], [[7, 4], [7, 5]] O que não atende, nesse exemplo criaram 6 sublistas, onde na verdade só deve ser criada 4 aglomerações, de acordo com a imagem. Espero ter me feito entender. De já agradeço.
  6. vocês poderiam me ajudar com meu codigo?Está travando sempre no mesmo lugar na hr de preencher a matriz #include <iostream> using namespace std; #include <locale.h> #include <cmath> int linha; int coluna; int i = 0; int j = 0; int main() { setlocale(LC_ALL, "Portuguese"); cout<<"Esse programa é dedicado à soma, subtração, multiplicação e divisão de matriz"<<endl; cout<<"Digite primeiro a quantidade de linhas que a matriz deve ter:"<<endl; cin>>linha; cout<<"Agora digite a quantidade de colunas que a matriz deve ter:"<<endl; cin>>coluna; cout<<"A matriz que você deseja terá "<<linha<<" linhas e "<<coluna<<" colunas"<<endl; cout<<"Preciso que prencha sua matriz!"<<endl; double matriz[linha][coluna]; while(i <= linha) while(j <= coluna){ cout<<"Linha "<<i<<" coluna "<<j<<endl; cin>>matriz[j]; i++; j++; } }
  7. Bom dia pessoal, estou iniciando vetores em C, já fiz diversos exercícios para um melhor aprendizado, porém me deparei com um exercício que me falta experiência para sua resulução. Segue o exercício: "Em um campeonato de futebol existem x times e para cada tipo, existem y jogadores. Faça um programa que receba: o valor de x e de y, a idade, o peso e a altura de cada um dos jogadores, calcule e mostre: a) a quantidade de jogadores com idade inferior a 18 anos; b) a média das idades dos jogadores de cada time; c) a média das alturas de todos os jogadores do campeonato; d) a percentagem de jogadores com mais de 80 Kg entre todos os jogadores do campeonato; e) a média de idade dos jogadores com peso acima de 100 Kg." Parei na letra B, tirar a média de idade dos jogadores por de cada time, utilizei dois For para isso, meu problema é que a quantidade de times e jogadores são fornecidas pelo usuario, e não consigo tirar a média, tentei da seguinte maneira media = media + idade ; Porém como está dentro do for não traz o valor real... Conseguem me ajudar da resolução do mesmo? Segue parte do código feito até agora: #include <stdio.h> #include <stdlib.h> int main() { int qtdT=0,qtdJ=0,t,j,contidmenor=0; float mediaid[qtdJ],somaid[qtdJ],idade[qtdJ]; mediaid[qtdJ] = 0; printf("Digite a Qtd de Times: "); scanf("%d", &qtdT); printf("Digite a Qtd de Jogadores: "); scanf("%d", &qtdJ); for (t=1;t<=qtdT;t++) { printf("\n\t***Time%i***\n",t); for(j=1;j<=qtdJ;j++) { printf("Digite a idade do jogador%d: ", j); scanf("%f", &idade[j]); if (idade[j]<18) { contidmenor++; } mediaid[j] = (mediaid[j] + idade[j])/qtdJ; } } printf("\nJogadores com idade inferior a 18 anos: %d\n",contidmenor); for(j=1;j<=qtdT;j++) { printf("Media Idade Time%i: %.2f\n",j,mediaid[j]); } }
  8. Sou iniciante na linguagem C. Fiz um algoritmo que ordena uma matriz inteira unidimensional em ordem crescente. Alguém poderia me ajudar a deixar este código mais eficiente. #include<stdio.h> /*Quantidade de numeros*/ #define TAM 10 int main(){ int num[TAM], temp; register int i, t; /*Inicializar matriz*/ for(i=0;i<TAM;i++){ printf("\nInforme o %d numero: ", i+1); scanf("%d", &num); } /*Ordenar matriz em ordem crescente*/ for(i=0;i<TAM;i++){ for(t=0;t<TAM;t++){ if(num[t] > num[t+1]){ temp=num[t]; num[t]=num[t+1]; num[t+1]=temp; } } } for(i=0;i<TAM;i++){ printf("\n%d", num); } return 0; }
  9. Implemente um único programa em C que, quando executado, abra um menu com as seguintes e opções: 1) Cálculo de Média Aritmética de 4 valores: Esta opção deverá ser implementada através do uso de uma função que receba como parâmetro 4 valores e calcule e escreva o resultado da média aritmética entre os mesmos. 2) Cálculo do somatório dos elementos de um vetor de dimensão 10: Esta opção deverá ser implementada através do uso de uma função que receba como parâmetro um vetor com 10 valores já preenchidos e que calcule e retorne para o programa principal o resultado desta soma. O valor retornado deverá ser impresso na tela.
  10. Fiz em C um programa no Linux de multiplicação de matrizes de ordem 1000 A e B, (Ou seja, matrizes quadradas 1000x1000) que resulta em uma outra matriz C, só que agora eu tenho que adicionar threads e não sei como e nem aonde coloca-las. Eu preciso de 4 threads: 1 para calcular de 0 à 249; 2 para calcular de 250 à 499; 3 para calcular de 500 à 749; 4 para calcular de 750 à 999; Segue código abaixo: #include <time.h> #include <stdio.h> #include <stdlib.h> #include <pthread.h> int main(){ pthread_t thread_1; pthread_t thread_2; pthread_t thread_3; pthread_t thread_4; int i; int j; int linhas; int colunas; int ordem; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); ordem = ordem - 1; linhas = ordem; colunas = ordem; float A[linhas+1][colunas+1]; float B[linhas+1][colunas+1]; for(i = 0; i <= linhas; i++){ for(j = 0; j <= colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } printf("\nA multiplicacao das matrizes A e B:\n\n"); for(i = 0; i <= linhas; i++) { for(j = 0; j <= colunas; j++) { float produto[linhas+1][colunas+1]; for(int AUX = 0; AUX <= ordem; AUX++) { produto[i][j] += A[i][AUX] * B[AUX][j]; } printf("%.2f ",produto[i][j]); } printf("\n"); } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return 0; } Desde já agradeço!
  11. Olá Pessoal, Eu sou novo no fórum, e novo na linguagem Python. Estou fazendo um programinha que lê um arquivo .txt para obter os dados de um grafo. Efetuada a leitura, eu preciso criar uma matriz de adjacência para ele. a Matriz de adjacência é uma matriz binária que marca com 1 a existência de aresta entre dois vértices do grafo, no qual sua dimenção é n x n, onde n é o número de vértices contidos no grafo. Para criar a criar a matriz de adjacência, iniciei uma matriz preenchendo-a com zeros da seguinte forma: matrizAdjacencia = [[0 for i in range(1,numVertice+1)] for j in range(1,numVertice+1)] Logo em seguida, para ler cada linha do arquivo e gerar a matriz, escrevi o seguinte código: for i in range(1,numAresta+1): str = arquivo.readline() str = str.split() origem = int(str[0]) destino = int(str[1]) distancia = int(str[2]) custo = (str[3]) custo = custo.split('\n') custo = float(custo[0]) matrizAdjacencia[origem][destino] = 1 Porém quando executo o código, exibe o erro : "matrizAdjacencia[origem][destino] = 1 IndexError: list index out of range" Eu imaginei que o erro ocorresse por que o for está em relação ao número de arestas (100) e a inicialização da matriz foi em relação ao número de vértices (40), porém não me parece que estou percorrendo a matriz iniciada, estou apenas acessando os índices, e este erro não parece fazer sentido. Agradeço desde já a todos.
  12. Galera, estou aprendendo array e estrutura de repetição, o problema desse código é que ele só faz até 5 mesmo informando um numero maior, como eu resolveria esse problema? #include <stdio.h> #include <stdlib.h> //inteiro par ou impar int parouimpar (int); int main(int argc, char *argv[]) { int limite, i, numero, result; printf ("Digite a quantidade de numeros que deseja informar: "); scanf ("%i", &limite); for (i = 0; i<limite; i++){ printf ("Digite o numero : "); scanf ("%i", &numero); printf ("\n"); } for (i = 0; i<limite; i++){ result = parouimpar(numero); if (result==1){ printf ("O numero %i é par!\n ", numero); printf ("\n"); }else{ printf ("O numero %i é impar!\n", numero); printf ("\n"); } } system("pause"); return 0; } int parouimpar (int num){ if (num%2==0){ return 1; }else{ return 0; } }
  13. alguém pode me ajudar a imprimir os numeros das poltronas como descrito no mapa que esta em anexo pf essa e minha prova parcial do curso de ciências da computação estou usando este metodo para imprimir a matriz mas sai tudo junto sem os espaços for (lin=0;lin<5;lin++) { for (col=0;col<6;col++) { if (a[lin][col]==0) { printf("[ v] "); } else { printf("[ %2d] ", a[lin][col]); } } printf("\n"); } break;
  14. Estou desenvolvendo uma aplicação em javascript onde tenho que pegar dados de um formulário e inserir em um array, porém, estou tendo dificuldades na parte de inserção. Segue o código abaixo para análise var btnCadastrar = document.getElementById("btnCadastrar"); var campoPlaca = document.getElementById("placa"); var campoAno = document.getElementById("ano"); var campoFabricante = document.getElementById("fabricante"); var campoModelo = document.getElementById("modelo"); var carros = Array(); var i, j; btnCadastrar.onclick = function(){ for(i= 0; i < carros.length; i++){ carros[i] = { placa : campoPlaca.value, ano: campoAno.value, fabricante: campoFabricante.value, modelo: campoModelo.value }; } } OBS: O código tem que ser desenvolvido em javascript, não pode ser utilizado jquery.
  15. O programa deve imprimir três linhas, contendo um único inteiro cada. A primeira linha contém o número do competidor que ganhou a corrida, a segunda contém o número do segundo colocado e a terceira contém o número do terceiro colocado,meu código compila bem certas tentativas e em outras ele volta o 1 medalhista certo e o segundo e terceiro ele volta zero. #include <stdio.h> #include <math.h> #define MAX 100 int main (void){ int m[MAX][MAX],v[MAX],a,b,i,j,me,me2,me3,menor,segmenor,termenor; scanf("%d%d",&a,&b); for(i=0; i<a; i++) { for(j=0; j<b; j++) { scanf("%d",&m[j]); } for(j=0; j<b; j++) { v+=m[j]; } } for(i=0; i<a; i++) { if(i==0) { me=i+1; menor=v; } else { if(v<menor) { me=i+1; menor=v; } } } for (i=0; i<a;i++){ if (v!= menor){ if (v < segmenor){ segmenor=v; me2 = i+1; } } } for (i = 0; i<a; i++){ if (v!= segmenor && v!= menor){ if (v<termenor){ termenor = v; me3 = i+1; } } } printf("%d\n%d\n%d",me,me2,me3); return 0; }
  16. Estava tentando fazer um jogo da velha porém quando o usuario escreve a linha e a coluna não marca na Matriz, alguém tem uma maneira facil de fazer isso?
  17. Bom dia pessoal, duvidas com relação ao piloto que ganhou a corrida. Durante uma corrida de automóveis com 4 voltas de duração foram anotados para 3 pilotos, na ordem, os tempos registrados em cada volta (em minutos). Faça um programa para ler os tempos das 4 voltas, calcular e imprimir: ● O tempo de prova de cada piloto; ● O piloto que ganhou a corrida. codigo: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "portuguese"); float tempo[3], corrida[3][4]; int pilotos, voltas, i; for (pilotos = 0; pilotos < 3; pilotos++) { tempo[pilotos] = 0; for (voltas = 0; voltas < 4; voltas++) { printf("Digite o tempo da %do. volta do %do. piloto: ", voltas+1, pilotos+1); scanf("%f", &corrida[pilotos][voltas]); tempo[pilotos] += corrida[pilotos][voltas]; } } printf("\n"); for (pilotos = 0; pilotos < 3; pilotos++) { printf("O tempo do piloto %d é: %3.2f \n", pilotos+1, tempo[pilotos]); } printf("\n"); float menor; for(tempo[pilotos] = 0; tempo[pilotos] < 3; tempo[pilotos]++) { menor = tempo[pilotos]; if(corrida[pilotos][voltas] < menor) menor = corrida[pilotos][voltas]; }printf("Melhor tempo é do piloto %d, com o tempo %.2f", pilotos, tempo[pilotos]); Pessoal, até a parte que mostra o tempo dos pilotos, roda certo, mas, na hora de mostrar o menor tem "ganhador" da zica.
  18. Preciso criar uma matriz N*N através de função, tenho três arquivos "main.c" "cabecalho.h" e "funcoes.c", como passar a matriz como parametro para a função? A seguir o código main.c: #include<stdio.h> #include "cabecalho.h" void main () { int **tabuleiro; int n; printf("Insira o tamanho do tabuleiro e a quantidade de rainhas (N): "); scanf("%i", &n); construirMatriz(tabuleiro, n); } cabecalho.h: #ifndef CABECALHO_H_INCLUDED #define CABECALHO_H_INCLUDED #include "funcoes.c" /**ALOCA A MATRIZ DINAMICAMENTE DE TAMANHO N*N*/ void construirMatriz(int tabuleiro[][], int n); #endif // CABECALHO_H_INCLUDED funcoes.c: #include<stdio.h> #include "cabecalho.h" void construirMatriz(int tabuleiro[][], int n) { tabuleiro = (int **) malloc (n * sizeof(int*)); for (i = 0; i < n, i++) tabuleiro[i] = (int *) malloc (n * sizeof(int)); } esse é o erro: funcoes.c:4:26: error: array type has incomplete element type void construirMatriz(int tabuleiro[][], int n) Acredito ser na forma como estou passando a matriz para as funções. ^
  19. Como comparar uma determinada posição de uma matriz através de colchetes sendo que passei como ponteiro de ponteiro (int **matriz) Main: while (qtdRainhas < n) { printf("\nInsira a linha: "); scanf("%i", &ri); printf("\nInsira a coluna: "); scanf("%i", &rj); verifica = verificaConflitos(ri-1, rj-1, tabuleiro, n); printf("verificou"); if (verifica == 0) { printf("\nentrou if\n"); tabuleiro[ri][rj] = 1; printf("Inseriu rainha %i" , i); qtdRainhas++; } else printf("\nPosicao invalida, insira novamente!"); } printf("\n"); Imprimir(tabuleiro, n); .h /**Imprime todas as posições do tabuleiro*/ void Imprimir(int **tabuleiro, int n); /**VERIFICA SE É POSSÍVEL POSICIONAR A RAINHA EM matriz(ri, rj). RETORNA 1 SE NÃO É POSSÍVEL E 0 SE FOR POSSÍVEL*/ int verificaConflitos (int ri, int rj, int **tabuleiro , int n); funcoes.c int verificaConflitos (int ri, int rj, int **tabuleiro, int n) { int i, i1, i2, j, j1, j2; int teste = 0; i1 = ri; i2 = ri; j1 = rj; j2 = rj; printf("\nentrou verificaConflito"); /**TESTA SE EXISTE ALGUMA NA MESMA LINHA OU COLUNA*/ for (i = 0; i < n; i++) { printf("\nentrou for"); if (tabuleiro[ri][i] == 1 || tabuleiro[i][rj] == 1)//o erro acontece aqui! { teste = 1; printf("\nentrou if"); break; } printf("\nsaiu for"); } O programa não está completo, mas tem o suficiente... Coloquei alguns printf's para ver até onde o programa vai. Penso que seja algo errado em relação ao "tabuleiro [ri] " por tê-lo passado como "** tabuleiro". Alguém sabe me dizer o problema e como consertá-lo?
  20. Estou lendo uma imagem em preto e branco, ([X,map]=imread('imagem.jpg')), e obtenho uma matriz com valores variando entre 1 e 256. Para obter uma matriz que varie de 0 a 1, divido X/256, porém obtenho uma matriz de 0's e 1's, todos os valores são aproximados. Como faço para obter os valores sem aproximação? Tem alguma função que faça essa mudança de escala sem precisar da divisão?
  21. Boa dia! Estou tentando criar um vba para inserir a função "=SEERRO(ÍNDICE(ATIVOS!$B:$I;CORRESP (J$2&$F4;ATIVOS!$B:$B&ATIVOS!$C:$C;0);6);" ")" em um range de células, como na planilhas. A questão é que o número de colunas é desconhecido, visto que o número de tipos de produtos financeiros podem variar dia após dia. Quanto a essa questão, posso criar um contador de colunas, até chegar no "Empty". O mesmo vale para as linhas. Em cada linha há um cliente diferente. O grande diferencial de colocar essa fórmula em VBA é a questão do tempo de cálculo. Essa planilha demora uns 10, 12 min para ser calculada e ela é de uso diário (logo pela manhâ)
  22. Escreva um programa que leia o nome de 10 alunos (vetor). Para cada aluno devem ser registradas 3 notas (matriz). Calcular a média das notas de cada aluno e armazenar em um vetor. Ao final deverá ser exibido na tela um relatório com os dados de todos os alunos (nome, notas, media) e também a informação se o aluno foi aprovado ou reprovado (média para aprovação 7,0). Para o caso de aprovado exibir todos os dados do aluno na cor azul, caso contrário exibir os dados na cor vermelha. Não estou conseguindo resolver esse exercicio sera que alguém poderia me ajudar?
  23. Olá, boa noite. Sou iniciante e estudante de programação. Estou com muita dificuldade pra manipulação de matriz e travei em uma questão do Spoj. Vou postar aqui a questão e se alguém puder me ajudar, dando um norte de por onde eu deveria começar, agradeço MUITO. FAZENDMG - Fazenda Compadre Roberto teve uma agradável surpresa: recebeu um telefonema de sua irmã dizendo que eles eram os únicos herdeiros das terras dos seus tios. Logo em seguida recebeu um fax com a descrição dos terrenos. Todos eram retangulares, e pela largura e comprimento de cada um concluiu que herdou uma grande área de terra no triângulo mineiro! Não tardou e Compadre Roberto já estava lá para tomar posse dos terrenos. Chegando lá, uma surpresa nada agradável... os terrenos eram sobrepostos!! Ninguém conseguiu explicar como isso aconteceu, mas boa parte das terras dos seus tios não pertenciam a apenas um, mas a dois ou mais! Isso nunca foi problema para eles, que cuidavam de tudo como uma grande família, sem se preocupar exatamente que pedaço era de quem. Tampouco é problema para Compadre Roberto e sua irmã, que agora são os únicos donos. Mas é frustrante descobrir que o terreno não era tudo o que pensava... A figura abaixo mostra um exemplo com 3 terrenos. Os terrenos são descritos com quatro números inteiros X, Y, L, C, indicando que o canto sudoeste do terreno (na figura, o canto inferior esquerdo) está na coordenada (X,Y) e ele tem largura L e comprimento C (todos os valores dados em Km). A descrição dos 3 terrenos mostrados é: Terreno A: 1 2 2 4; Terreno B: 2 0 3 3; Terreno C: 0 4 4 1. A figura da esquerda mostra os terrenos, e a da direita o terreno total resultado da sobreposição. Quando Compadre Roberto recebeu o fax, achava que esses terrenos tinham 2 * 4 + 3 * 3 + 4 * 1 = 21 Km2 no total. Agora sabe que são 18 Km2... Ele gostaria de saber quantos Km2 os terrenos realmente contêm. E com as muitas sobreposições precisa da sua ajuda. Além disso precisa cercar o terreno, então gostaria de saber também quantos Km de cerca são necessários. No exemplo acima a cerca tem 24 Km de comprimento. Observações A junção dos terrenos nem sempre forma uma região contígua e sem “buracos”. Casos como os mostrados na figura abaixo podem acontecer. Então nem sempre será possível cercar o terreno herdado com uma única cerca contígua, pode ser necessário usar mais de uma. Entrada Há vários casos de teste. A primeira linha de um caso de teste contém um número inteiro N que é o número de terrenos herdados (N ≤ 20). As N linhas seguintes contém cada uma a descrição de um terreno no formato X Y L C conforme descrito no enunciado ( 0 ≤ X, Y ≤ 1000, e 1 ≤ L, C ≤ 500). A entrada termina quando N = 0 Saída Para cada caso de teste da entrada seu programa deve produzir uma linha na saída contendo dois valores A e P, que são a área (em Km2) e o perímetro (em Km) total da união dos terrenos descritos no caso de teste. Exemplos Entrada: 3 1 2 2 4 2 0 3 3 0 4 4 1 5 1 2 1 1 1 2 5 1 2 5 4 2 4 0 1 6 1 0 2 4 4 0 0 1 4 0 3 4 1 3 0 1 4 1 0 2 1 0 Saída: 18 24 23 36 12 24 Link da questão direto do SPOJ Desde já agradeço muitíssimo a quem puder ajudar
  24. Não estou conseguindo identificar o erro, observe, se fazer uma matriz quadrada de ordem 2 o que acontece com a soma de [1][2] e [2][1]: #include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ int i; int j; int linhas; int colunas; int ordem; float A[i][j]; float B[i][j]; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); linhas = ordem; colunas = ordem; for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]); } } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return ; }
  25. Não estou conseguindo identificar o erro, observe, se fazer uma matriz quadrada de ordem 2 o que acontece com a soma de [1][2] e [2][1]: #include <stdio.h> #include <stdlib.h> #include <time.h> int main (){ int i; int j; int linhas; int colunas; int ordem; float A[i][j]; float B[i][j]; long T1; long T2; float delta; printf("Digite a ordem das matrizes quadradas A e B: "); scanf("%d", &ordem); T1 = clock(); printf("\nAs matrizes quadradas A e B, são matrizes de ordem %d",ordem); linhas = ordem; colunas = ordem; for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\n\nEntre com o valor da matriz A[%d][%d]: ",i+1,j+1); scanf("%f", &A[i][j]); printf("\nEntre com o valor da matriz B[%d][%d]: ",i+1,j+1); scanf("%f", &B[i][j]); } } for(i = ; i < linhas; i++){ for(j = ; j < colunas; j++){ printf("\nA soma das matrizes A[%d][%d] e B[%d][%d] = %.2f",i+1,j+1,i+1,j+1,A[i][j] + B[i][j]); } } T2 = clock(); delta = (float)(T2-T1)/CLOCKS_PER_SEC; printf("\n\nTempo %.5f segundos",delta); return ; }
×
×
  • Criar Novo...