Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Como encontrar o par de elementos em um vetor que, somados, resulte no número informado - Solução usando força-bruta - Exercícios Resolvidos de CQuantidade de visualizações: 312 vezes |
Pergunta/Tarefa: Dado o vetor: // vamos declarar um vetor não ordenado de 8 ints int numeros[] = {7, 12, 4, 5, 3, 1, 8, 6}; Há várias formas de se resolver esse problema. Nesse exercício nós colocamos a solução usando força-bruta. Sua saída deverá ser parecida com: O vetor criado é: [7, 12, 4, 5, 3, 1, 8, 6] Informe um número: 10 Par encontrado: (7, 3) Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> // protótipo da função que recebe um vetor de inteiros e um número // representando a soma que devemos encontrar em dois pares // de elementos do vetor void encontrar_par(int numeros[], int tam_vetor, int numero); // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema // vamos declarar um vetor não ordenado de 8 ints int numeros[] = {7, 12, 4, 5, 3, 1, 8, 6}; int tam_vetor = 8; int numero, i; setlocale(LC_ALL,""); // para acentos do português // vamos mostrar o vetor printf("O vetor criado é: "); for(i = 0; i < tam_vetor; i++){ printf("%d, ", numeros[i]); } // vamos pedir para o usuário informar um valor printf("\nInforme um número: "); scanf("%d", &numero); // vamos encontrar o par de elementos que resulte em // uma soma igual ao número informado pelo usuário encontrar_par(numeros, tam_vetor, numero); printf("\n\n"); system("PAUSE"); return 0; } // função que recebe um vetor de inteiros e um número // representando a soma que devemos encontrar em dois pares // de elementos do vetor void encontrar_par(int numeros[], int tam_vetor, int numero){ int encontrado = 0; // para registrar se encontramos int i, j; // vamos percorrer todos os elementos do vetor, exceto // o último for (i = 0; i < tam_vetor - 1; i++){ // no laço interno nós varremos desde o elemento // no índice i até o último elemento for (j = i + 1; j < tam_vetor; j++){ // encontramos o par de elementos que retorna a soma // que estamos procurando? if (numeros[i] + numeros[j] == numero){ printf("Par encontrado: (%d, %d)", numeros[i], numeros[j]); encontrado = 1; break; // sai do laço interno } } // vamos sair do laço externo também caso o par // já tiver sido encontrado no laço interno if(encontrado){ break; } } // o par não foi encontrado? if(!encontrado){ printf("O par de elementos não foi encontrado."); } } |
Link para compartilhar na Internet ou com seus amigos: |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array em Ruby usando as funções sort e sort!Quantidade de visualizações: 11417 vezes |
Em várias situações nós precisamos ordenar arrays na linguagem Ruby. Para isso nós podemos usar a função sort, que ordenará os elementos do array em ordem crescente. Veja o código Ruby a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- =begin Este trecho de código mostra como ordenar um array de inteiros usando o método sort da classe Array. =end # define um array de inteiros valores = [10, 3, 56, 100, 34, 0, 4] # exibe os valores na ordem original puts "Ordem original:" for valor in valores print valor.to_s + " " end # array ordenado puts "\n\nOrdenado do menor para o maior:" valores = valores.sort # ordena o array for valor in valores print valor.to_s + " " end Ao executar este código Ruby nós teremos o seguinte resultado: Ordem original: 10 3 56 100 34 0 4 Ordenado do menor para o maior: 0 3 4 10 34 56 100 Se quisermos que a ordenação seja feita no array original, sem criar uma cópia, podemos usar a função sort!. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- =begin Este trecho de código mostra como ordenar um array de inteiros usando o método sort da classe Array. =end # define um array de inteiros valores = [10, 3, 56, 100, 34, 0, 4] # exibe os valores na ordem original puts "Ordem original:" for valor in valores print valor.to_s + " " end # array ordenado puts "\n\nOrdenado do menor para o maior:" valores.sort! # ordena o array for valor in valores print valor.to_s + " " end |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que calcula qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decompostoQuantidade de visualizações: 15473 vezes |
Pergunta/Tarefa: Escreva um programa Java que lê um valor inteiro e simule o comportamento de um caixa eletrônico, ou seja, calcule qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto. Seu programa deverá exibir uma saída parecida com: Informe o valor do saque (valor inteiro): 139 O valor do saque pode ser expresso em: 1 notas de 100 0 notas de 50 3 notas de 10 1 notas de 5 4 notas de 1 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // variáveis que vão guardar a quantidade de notas de 100, 50, 10, 5 e 1; int cem = 0, cinquenta = 0, dez = 0, cinco = 0, um = 0; int valor; // guarda o valor lido int temp; // variável auxiliar // vamos solicitar o valor a ser sacado System.out.print("Informe o valor do saque (valor inteiro): "); // vamos ler o valor do saque valor = Integer.parseInt(entrada.nextLine()); // inicializa a variável temporária temp = valor; // quantas notas de 100? if(temp >= 100){ cem = valor / 100; temp = valor % 100; } // quantas notas de 50? if(temp >= 50){ cinquenta = temp / 50; temp = temp % 50; } // quantas notas de 10? if(temp >= 10){ dez = temp / 10; temp = temp % 10; } // quantas notas de 5? if(temp >= 5){ cinco = temp / 5; temp = temp % 5; } // quantas notas de 1? if(temp >= 1){ um = temp / 1; } // vamos exibir o resultado System.out.println("O valor do saque pode ser expresso em:"); System.out.printf("%d notas de 100\n", cem); System.out.printf("%d notas de 50\n", cinquenta); System.out.printf("%d notas de 10\n", dez); System.out.printf("%d notas de 5\n", cinco); System.out.printf("%d notas de 1\n", um); } |
Revit C# ::: Dicas & Truques ::: Colunas e Pilares |
Como listar os tipos de colunas e pilares disponíveis no Revit usando a Revit C# APIQuantidade de visualizações: 106 vezes |
Nesta dica mostrarei como podemos obter e retorna uma lista com as colunas e pilares disponíveis na sua instalação do Revit. Esse passo é muito importante quando precisamos informar o id do símbolo de família, ou seja, o tipo de coluna ou pilar que queremos criar, em um determinado momento, via programação Revit C# API. O primeiro passo é acessar o documento atual do Revit usando uma chamada à this.ActiveUIDocument.Document. Em seguida nós obtemos um objeto FilteredElementCollector para filtrar e retornar os símbolos de família que se enquadrem na categoria OST_StructuralColumns. Para finalizar, nós convertemos os elementos Element em FamilySymbol. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.DB.Structure; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using Autodesk.Revit.DB.Architecture; using System.Linq; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { // vamos obter uma referência ao Document ativo Document doc = this.ActiveUIDocument.Document; // vamos obter um FilteredElementCollector contendo apenas // elementos que sejam ElementType e pertençam à categoria // OST_StructuralColumns try { FilteredElementCollector elementos = new FilteredElementCollector(doc) .WhereElementIsElementType().OfCategory(BuiltInCategory.OST_StructuralColumns); String lista = ""; // vamos percorrer os elementos retornados foreach(Element elemento in elementos) { // vamos converter o Element em FamilySymbol FamilySymbol coluna = elemento as FamilySymbol; // agora montamos a lista de colunas (ou pilares) lista = lista + "Id: " + elemento.Id.IntegerValue + "; Nome: " + elemento.Name + "; Tipo: " + elemento.Category.Name + "; Família: " + coluna.Family.Name + "\n"; } // mostramos o resultado TaskDialog.Show("Aviso", lista); } catch (Exception ex) { TaskDialog.Show("Aviso", "Erro: " + ex.Message); } } private void Module_Shutdown(object sender, EventArgs e) { // para fazer alguma limpeza de memória ou algo assim } #region Revit Macros generated code private void InternalStartup() { this.Startup += new System.EventHandler(Module_Startup); this.Shutdown += new System.EventHandler(Module_Shutdown); } #endregion } } Ao executar este código Revit C# nós teremos o seguinte resultado: Id: 12190; Nome: UC305x305x97; Tipo: Pilares estruturais; Família: UC-Universal Columns-Column Id: 355634; Nome: 80 x 50; Tipo: Pilares estruturais; Família: Pila de Concreto - Retangular Id: 355636; Nome: 50 x 50; Tipo: Pilares estruturais; Família: Pila de Concreto - Retangular |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posiçãoQuantidade de visualizações: 280 vezes |
Pergunta/Tarefa: Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição do maior número inteiro. Você deverá informar tanto a linha quanto a coluna que o maior valor é encontrado. Uma matriz bidimensional 2 x 4 quer dizer que a matriz possui 2 linhas e 4 colunas. Seu programa Java deverá exibir uma saída parecida com: Valor da linha 1 e coluna 1: 6 Valor da linha 1 e coluna 2: 9 Valor da linha 1 e coluna 3: 11 Valor da linha 1 e coluna 4: 5 Valor da linha 2 e coluna 1: 20 Valor da linha 2 e coluna 2: 63 Valor da linha 2 e coluna 3: 31 Valor da linha 2 e coluna 4: 7 Valores na matriz 6 9 11 5 20 63 31 7 O maior valor é 63 Ele foi encontrado na linha 2 e coluna 2 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // variaveis usdas na resolução do problema int matriz[][] = new int[2][4]; int maior_valor, linha, coluna; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler os valores e colocar na matriz for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Valor da linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } System.out.println(); } // vamos mostrar a matriz da forma que ela foi informada System.out.println("\nValores na matriz\n"); for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.printf("%5d", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // agora vamos localizar o maior valor na matriz linha = 0; coluna = 0; maior_valor = matriz[linha][coluna]; for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas if(matriz[i][j] > maior_valor){ maior_valor = matriz[i][j]; linha = i + 1; coluna = j + 1; } } } // vamos mostrar o resultado System.out.println("\nO maior valor é " + maior_valor); System.out.println("Ele foi encontrado na linha " + linha + " e coluna " + coluna); } } |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços no início e final de uma string usando as funções strip e strip! da linguagem RubyQuantidade de visualizações: 9891 vezes |
As funções strip e strip! são úteis quando precisamos remover espaços no início e final de uma string. A função strip retorna uma nova string, enquanto strip! opera na string original. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # declara e inicializa uma variável string frase = " Tenho espaços no início e final. " # vamos remover os espaços no início e final da # string. # sem alterar a string original frase2 = frase.strip puts frase2 # alterando a string original frase.strip! puts frase Ao executar este código Ruby nós teremos o seguinte resultado: Tenho espaços no início e final. Tenho espaços no início e final. |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
C - Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas MySQL - Como usar joins no MySQL |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |