Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Escreva um algoritmo C++ que cria e preenche um vetor de 10 posições com números aleatórios (entre 0 e 99) - Exercícios Resolvidos de C++Quantidade de visualizações: 144 vezes |
Pergunta/Tarefa: Escreva um algoritmo C++ que cria e preenche um vetor de 10 posições com números aleatórios (entre 0 e 99) gerados pelo computador. Logo em seguida, mostre os números gerados de forma randômica e depois coloque o vetor em ordem crescente, mostrando no final os valores ordenados. Atenção: O vetor deverá ser ordenado usando a ordenação da bolha (Bubble Sort). Sua saída deve ser parecida com: Vetor gerado aleatoriamente: 34 31 5 72 98 71 13 34 27 76 Vetor ordenado de forma crescente: 5 13 27 31 34 34 71 72 76 98 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 <iostream> #include <time.h> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // vamos criar um vetor de inteiros de 10 elementos int valores[10]; // vamos inicializar o gerador de números aleatórios srand(time(NULL)); // vamos preencher o vetor com os valores randômicos for(int i = 0; i < 10; i++){ valores[i] = rand() % 100; } // mostra o vetor gerado cout << "Vetor gerado aleatoriamente:\n"; for(int i = 0; i < 10; i++){ cout << valores[i] << " "; } // agora vamos ordenar o vetor de forma crescente cout << "\n\nVetor ordenado de forma crescente:\n"; // ordena o vetor usando a ordenação Bubble Sort for (int i = 0; i < 10; i++){ for (int j = i; j < 10; j++){ if (valores[i] > valores[j]){ int aux = valores[i]; valores[i] = valores[j]; valores[j] = aux; } } } // mostra o vetor ordenado for(int i = 0; i < 10; i++){ cout << valores[i] << " "; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 695 vezes |
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: def exibirInverso(valor): # sua implementação aqui Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Python console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método recursivo que recebe um valor inteiro e o exibe na ordem # inversa def exibirInverso(valor): # a parada da recursividade é o valor igual a 0 if valor != 0: print(valor % 10, end ="") valor = valor // 10 exibirInverso(valor) # efetua uma nova chamada recursiva # método principal def main(): # solicita um valor inteiro ao usuário numero = int(input("Informe um valor inteiro: ")) # exibe o valor na ordem invertida print("O valor invertido é: ", end =" ") exibirInverso(numero) if __name__== "__main__": main() |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 17132 vezes |
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. 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; namespace Estudos { class Program { static void Main(string[] args) { // cria e inicializa um array de strings string[] cidades = {"Goiânia", "São Paulo", "Rio de Janeiro", "Curitiba"}; Console.WriteLine("Ordem original:"); for (int i = 0; i < cidades.Length; i++) { Console.WriteLine(cidades[i]); } // vamos criar um objeto da classe StringComparer StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase; // agora classificamos o vetor em ordem alfabética Array.Sort(cidades, ordenar); Console.WriteLine(); Console.WriteLine("Ordem alfabética:"); for (int i = 0; i < cidades.Length; i++) { Console.WriteLine(cidades[i]); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
Lisp ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para EngenhariaQuantidade de visualizações: 384 vezes |
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- ; programa LISP que converte Coordenadas Polares ; em Coordenadas Cartesianas (let((raio)(theta)(graus)(x)(y)) ; vamos ler o raio e o ângulo (princ "Informe o raio: ") (force-output) (setq raio (read)) (princ "Informe o theta: ") (force-output) (setq theta (read)) (princ "Theta em graus (1) ou radianos (2): ") (force-output) (setq graus (read)) ; o theta está em graus? (if(eq graus 1) (setq theta (* theta (/ pi 180.0))) ) ; fazemos a conversão para coordenadas cartesianas (setq x (* raio (cos theta))) (setq y (* raio (sin theta))) ; exibimos o resultado (format t "As Coordenadas Cartesianas são: (x = ~F, y = ~F)" x y) ) Ao executar este código LISP nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0,00, y = 1,00) |
Delphi ::: VCL - Visual Component Library ::: TStringGrid |
Como definir a altura padrão das linhas em um TStringGrid do Delphi usando a propriedade DefaultRowHeightQuantidade de visualizações: 10607 vezes |
A propriedade DefaultRowHeight é útil quando queremos obter ou definir a altura padrão das linhas de um TStringGrid. Por padrão, o valor desta propriedade é 24 pixels. Veja no trecho de código abaixo como o valor desta propriedade é obtido: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter a altura padrão das linhas // do TStringGrid Memo1.Lines.Add('A altura padrão das linhas do TStringGrid é: ' + IntToStr(StringGrid1.DefaultRowHeight)); end; Ao executar este trecho de código você terá o seguinte resultado: A altura padrão das linhas do TStringGrid é: 24. Podemos definir a altura padrão das linhas do TStringGrid em tempo de design ou execução simplemente definindo um valor inteiro para sua propriedade DefaultRowHeight. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos definir a altura padrão das linhas // do TStringGrid StringGrid1.DefaultRowHeight := 50; end; Quando novas linhas são adicionadas por meio da propriedade RowCount, suas alturas serão aquelas da propriedade DefaultRowHeight. |
Java ::: Dicas & Truques ::: Data e Hora |
Como validar uma data em Java usando a classe GregorianCalendarQuantidade de visualizações: 12798 vezes |
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ try{ GregorianCalendar data = new GregorianCalendar(); data.setLenient(false); data.set(GregorianCalendar.YEAR, 2008); // ano data.set(GregorianCalendar.MONTH, 11); // mês // dia inválido data.set(GregorianCalendar.DATE, 32); // a validação da data ocorre aqui Date temp = data.getTime(); } catch(Exception e){ System.out.println("Data inválida."); e.printStackTrace(); } } } Ao executarmos este código teremos o seguinte resultado: Data inválida. java.lang.IllegalArgumentException: DAY_OF_MONTH at java.util.GregorianCalendar.computeTime(Unknown Source) at java.util.Calendar.updateTime(Unknown Source) at java.util.Calendar.getTimeInMillis(Unknown Source) at java.util.Calendar.getTime(Unknown Source) at Estudos.main(Estudos.java:14) |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |