C ::: Dicas & Truques ::: Strings e Caracteres |
Como criar sua própria função substring() para obter uma substring a partir de uma string em CQuantidade de visualizações: 17371 vezes |
Em algumas situações precisamos obter uma substring a partir de uma string. A linguagem C já fornece algumas funções que tornam isso possível. No entanto, nenhuma destas funções permite especificar o índice inicial da substring. Sendo assim, o trecho de código abaixo mostra como escrever uma função substring() que permite informar a string de origem, o índice inicial e a quantidade de caracteres que serão obtidos. O retorno da função será um ponteiro para a substring obtida:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *substring(char *origem, int inicio, int quant){
char *res = origem;
int i = 0;
// posição inicial menor que 0 ou
// posição inicial muito exagerada?
if((inicio < 0) || (inicio > strlen(origem)))
inicio = 0;
// quantidade de caracteres muito exagerada?
if(quant > inicio + strlen(origem))
quant = strlen(origem) - inicio;
// obtem os caracteres desejados
for(i = 0; i <= quant - 1; i++){
res[i] = origem[inicio + i];
}
// marca o fim da string
res[i] = '\0';
return res;
}
int main(int argc, char *argv[])
{
char texto[] = "Gosto muito de C e C++";
// não podemos bagunçar a string original
char sub_temp[128];
strcpy(sub_temp, texto);
// 10 caracteres começando
// no índice 6
char *res = substring(sub_temp, 6, 10);
// exibe o resultado
puts(res);
// exibe a string original
puts(texto);
system("pause");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: muito de C Gosto muito de C e C++ |
C# ::: Dicas & Truques ::: Data e Hora |
Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#Quantidade de visualizações: 12569 vezes |
|
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado. Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos. Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009:
static void Main(string[] args){
// using System.Globalization;
// obtém uma instância da classe GregorianCalendar
Calendar c = new GregorianCalendar();
// obtém a quantidade de dias para março de 2009
int dias = c.GetDaysInMonth(2009, 3);
// exibe o resultado
Console.WriteLine("Este mês possui {0} dias", dias);
// pausa o programa
Console.ReadKey();
}
Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários: Calendar c = CultureInfo.InvariantCulture.Calendar; O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja: System.ArgumentOutOfRangeException was unhandled Message="Month must be between one and twelve. Parameter name: month" Source="mscorlib" ParamName="month" |
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca TextoQuantidade de visualizações: 929 vezes |
|
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto. Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere). Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
cadeia palavra = "PORTUGOL"
caracter letra = tx.obter_caracter(palavra, 0)
escreva("A letra retornada é: ", letra)
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: A letra retornada é: P Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
cadeia palavra = "PORTUGOL"
para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) {
caracter letra = tx.obter_caracter(palavra, i)
escreva("A letra é: ", letra, "\n")
}
}
}
Ao executar o código novamente nós teremos o seguinte resultado: A letra é: P A letra é: O A letra é: R A letra é: T A letra é: U A letra é: G A letra é: O A letra é: L |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercícios Resolvidos de Java - Como escrever uma função Java que recebe dois números inteiros e retorna a soma desses dois valores como um inteiroQuantidade de visualizações: 10241 vezes |
|
Pergunta/Tarefa: Escreva um método estático em Java chamado somar() que recebe dois números inteiros e retorna a soma desses dois valores como um inteiro. Este método deverá ter a seguinte assinatura:
public static int somar(int a, int b){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Informe o primeiro número: 4 Informe o segundo número: 3 A soma dos dois números é: 7 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos pedir ao usuário que informe dois valores 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());
// vamos efetuar uma chamada ao método somar() e obter seu retorno
int resultado = somar(n1, n2);
// finalmente mostramos o resultado
System.out.println("A soma dos dois números é: " + resultado);
}
// método estático que recebe dois inteiros e retorna a soma como um número inteiro
public static int somar(int a, int b){
int soma = a + b; // soma os dois números
return soma; // retorna a soma para o método chamado
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Python - Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço for MySQL - Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEY JavaScript - Como retornar apenas os três primeiros elementos de um array em JavaScript usando a função slice() do objeto Array |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





