Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++Quantidade de visualizações: 12436 vezes |
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:
#include <iostream>
using namespace std;
// função usada para exibir os valores
// da matriz
void exibir_matriz(int matriz[], int quant)
{
for(int i = 0; i < quant; i++){
cout << matriz[i] << endl;
}
}
int main(int argc, char *argv[])
{
// cria uma matriz com 5 inteiros
int valores[] = {54, 3, 89, 6, 1};
// passa a matriz para a função exibir_matriz()
// veja que temos que enviar também a quantidade
// de elementos
exibir_matriz(valores, 5);
system("PAUSE"); // pausa o programa
return 0;
}
Ao executar este código C++ nós teremos o seguinte resultado: 54 3 89 6 1 |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em PHP usando o operador "."Quantidade de visualizações: 1 vezes |
|
Todas as linguagens de programação oferecem o seu operador de concatenação, que nos permite juntar palavras, frases, textos e valores de variáveis. Na maioria das linguagens o operador de concatenação é o sinal de adição "+". Porém, em PHP, a concatenação é feita usando-se o operador ".". Veja um exemplo abaixo de como usá-lo: <?php $nome = "Carlos"; $cidade = "São Paulo"; echo "Meu nome é " . $nome . " e eu moro em " . $cidade . "."; ?> |
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Arquivos e diretórios em C++ - Como escrever em arquivos usando a função WriteFile() da API do WindowsQuantidade de visualizações: 9443 vezes |
|
A função WriteFile() da Win32 API é útil quando precisamos escrever em arquivos. Esta função foi projetada para escritas síncronas e assíncronas, enquanto WriteFileEx() é somente para escritas assíncronas. Veja o protótipo desta função: BOOL WINAPI WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); Antes de escrevermos em um arquivo, é importante entendermos o significado dos parâmetros da função WriteFile(): a) HANDLE hFile - Este é o handle para o arquivo no qual queremos escrever. Este handle deve ser criado com os direitos de acesso de escrita GENERIC_WRITE. b) LPCVOID lpBuffer - Um ponteiro para o buffer que contém os dados que serão escritos no arquivo. c) DWORD nNumberOfBytesToWrite - O número de bytes a serem escritos no arquivo. d) LPDWORD lpNumberOfBytesWritten - Um ponteiro para uma variável que receberá o número de bytes escritos. A função WriteFile() define o valor desta variável como zero antes de fazer seu trabalho ou verificação de erro. d) LPOVERLAPPED lpOverlapped - Um ponteiro para um estrutura OVERLAPPED. Esta estrutura é exigida se o handle para o arquivo for obtido usando FILE_FLAG_OVERLAPPED para o parâmetro dwFlagsAndAttributes da função CreateFile(). Geralmente usamos NULL para este parâmetro. Veja um trecho de código no qual usamos a função WriteFile() para escrever duas linhas em um arquivo texto:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// dados a serem escritos no arquivo
CHAR frase[80];
DWORD nOut; // bytes escritos
// nome do arquivo
CHAR arquivo[] = "C:\\testes.txt";
// vamos abrir o arquivo para escrita.
// se o arquivo não existir nós vamos criá-lo.
HANDLE hArquivo = CreateFile(arquivo, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hArquivo == INVALID_HANDLE_VALUE){
cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
}
else{
// arquivo aberto com sucesso. Vamos escrever
// dados a serem escritos no arquivo
CHAR frase1[80] = "Programar em C++ é bom demais\r\n";
CHAR frase2[80] = "E a Win32 é da hora!!!!";
DWORD nOut; // bytes escritos
// vamos escrever a primeira frase
WriteFile(hArquivo, frase1, strlen(frase1), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
// vamos escrever a segunda frase
WriteFile(hArquivo, frase2, strlen(frase2), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
}
// vamos fechar o handle
CloseHandle(hArquivo);
system("PAUSE");
return EXIT_SUCCESS;
}
|
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar os elementos de um vetor C usando a ordenação da bolha (Bubble Sort)Quantidade de visualizações: 26412 vezes |
|
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos. O entendimento deste método é fácil. Se estivermos ordenados os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição da matriz, tal qual bolhas indo para a superfície. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(int matriz[], int tam){
int temp, i, j;
for(i = 0; i < tam; i++){
for(j = 0; j < tam; j++){
if(matriz[i] < matriz[j]){
temp = matriz[i];
matriz[i] = matriz[j];
matriz[j] = temp;
}
}
}
}
int main(int argc, char *argv[])
{
int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
int i, tamanho = 9;
// imprime a matriz sem a ordenação
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
// vamos ordenar a matriz
bubble_sort(valores, tamanho);
// imprime a matriz ordenada
puts("\n");
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
puts("\n");
system("pause");
return 0;
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Escreva uma função Java que recebe três números inteiros e retorna o menor delesQuantidade de visualizações: 1275 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que contenha um método ou função que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 10 Informe o terceiro número: 7 O menor número é: 7 Veja a resolução comentada deste exercício em Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar três
// números inteiros
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int n2 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o terceiro número: ");
int n3 = Integer.parseInt(entrada.nextLine());
// agora vamos calcular o menor número
int menorNumero = menor(n1, n2, n3);
// e mostramos o resultado
System.out.println("O menor número é: " + menorNumero);
}
// método que recebe três números e retorna o menor deles
public static int menor(int a, int b, int c){
return Math.min(Math.min(a, b), c);
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






