vitormartinotti

Aula Strings

May 17th, 2024
222
1
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.00 KB | None | 1 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6.     /*
  7.     Uma string pode ser representa através
  8.     de um vetor de char.
  9.     */
  10.     char s1[100];
  11.  
  12.     /*
  13.     Para ler uma string da entrada utilizamos
  14.     o %s, esta instrução faz a leitura até encontrar
  15.     um espaço em branco ou uma quebra de linha.
  16.     Automaticamente será incluido um \0 logo após o
  17.     último caractere, o que indica o fim da string.
  18.     Não é necessário utilizar o & pois o nome do vetor
  19.     já é uma referência para a sua localização na
  20.     memória.
  21.     */
  22.     printf("Escreva s1:\n");
  23.     scanf(" %s", s1);
  24.  
  25.     /*
  26.     Para imprimir uma string também utilizamos %s.
  27.     Esta instrução imprime as posições do vetor
  28.     até encontrar o \0.
  29.     */
  30.     printf("%s\n", s1);
  31.  
  32.     /*
  33.     Imprimindo as letras de uma string:
  34.     */
  35.     printf("s1[0]: %c\n", s1[0]);
  36.     printf("s1[1]: %c\n", s1[1]);
  37.     printf("s1[3]: %c\n", s1[3]);
  38.     printf("s1[5]: %c\n", s1[5]);
  39.     printf("\n");
  40.  
  41.     /*
  42.     Também é possível ler uma linha completa da entrada,
  43.     o scanf a seguir lê a entrada até encontrar uma
  44.     quebra de linha:
  45.     */
  46.     printf("Escreva uma frase:\n");
  47.     char frase[100];
  48.     scanf(" %[^\n]", frase);
  49.  
  50.     printf("%s\n", frase);
  51.     printf("\n");
  52.  
  53.     /*
  54.     Exemplo 1. Contando a quantidade de vogais em uma string:
  55.     */
  56.     printf("Escreva s2:\n");
  57.     char s2[100]; scanf(" %s", s2);
  58.  
  59.     int vogais = 0;
  60.     for (int i = 0; s2[i] != '\0'; i++){
  61.         if(s2[i] == 'a' || s2[i] == 'e'|| s2[i] == 'i'|| s2[i] == 'o'|| s2[i] == 'u'){
  62.             vogais++;
  63.         }
  64.     }
  65.  
  66.     printf("Qtd de vogais de s2: %d\n", vogais);
  67.     printf("\n");
  68.  
  69.     /*
  70.     ***Funções para Strings***
  71.     */
  72.  
  73.     /*
  74.     strcmp(s1, s2);
  75.     Esta função compara duas strings e retorna:
  76.     -1, se s1 vem antes de s2
  77.     0, se s1 é igual a s2
  78.     1, se s1 vem depois de s2
  79.     */
  80.  
  81.     char s3[] = "Escola";
  82.     char s4[] = "Estojo";
  83.  
  84.     if(strcmp(s3, s4) == 0) printf("Sao iguais\n");
  85.     else printf("Sao diferentes\n");
  86.     printf("\n");
  87.  
  88.     /*
  89.     strcpy(s1, s2);
  90.     Faz uma cópia de s2 em s1. Em outras palavras,
  91.     é o equivalente a s1 = s2; (s1 recebe s2).
  92.     Esta função só é "segura" se os vetores forem do mesmo
  93.     tamanho.
  94.     */
  95.  
  96.     printf("s3: %s\n", s3);
  97.     printf("s4: %s\n", s4);
  98.     printf("\n");
  99.  
  100.     char aux[100];
  101.  
  102.     strcpy(aux, s3); //aux = s3;
  103.     strcpy(s3, s4);  //s3 = s4;
  104.     strcpy(s4, aux); //s4 = aux;
  105.  
  106.     printf("s3: %s\n", s3);
  107.     printf("s4: %s\n", s4);
  108.     printf("\n");
  109.  
  110.     /*
  111.     strlen(s1);
  112.     Esta função retorna a quantidade de caracteres
  113.     de uma string.
  114.     Na prática, ela conta quantas casas existem até o \0.
  115.     */
  116.  
  117.     printf("Tamanho das strings:\n");
  118.     printf("s1: %d\n", strlen(s1));
  119.     printf("s2: %d\n", strlen(s2));
  120.     printf("s3: %d\n", strlen(s3));
  121.     printf("s4: %d\n", strlen(s4));
  122.     printf("frase: %d\n", strlen(frase));
  123.     printf("\n");
  124.  
  125.     return 0;
  126. }
Advertisement
Comments
  • lunapf
    44 days
    # text 0.42 KB | 0 0
    1. OLA MUITO OBRIGADA PELA SUA INFORMAçÃO! TENHA UM ÓTIMA ANIVERSARIO ANONIMO!
    2. VOCE GOSTARIA DE ENTRAR EM UM PROGRAMA PARA PESSOAS QUE ENSINAM, PROFESSORES? ESYAMOS CONTRATANDO pessoOaAS QUE POSSUEM NIVEKL DE EXPERIENCIA em proOGRAMACAO C++, VOCE GOSTARIA DE PARTICIPAER?
    3. MANDE SUA RESPOSTA AO EMAIL: [email protected]
    4. ISSO NAO E FARSSA PODE CONFIAR O.K? ISSO NAO E UM GOLPE SENHOEr!!
    5. atENCIOSAMENTE,
    6. hacker amigavel:)
  • lunapf
    44 days
    # text 0.55 KB | 0 0
    1. OLA SENHOR VIMOS QUE AO NOS RESPONDEU, E VAI QUE OFERECI UMA OTIMA OFERTA PARA O SENHRO COM SALARIO DE 1 REISBIT , A NOVA MOEDA CRIADA PELA FAMILKIA FRANCISCA DA SILVA. VOCE GOSTARIA DE COMPRALA? ALEM DISS0 ESSSA MOEDA PAGA MUITA COISA POR ISSO DAMOS APENASW UMZA MOEDA POR 365. NAO E DIAS OK, E SIM ANOS. ISSO NAO E UM GOLPE O.K? ISSO E APENAS UMA PROPOSTA DE TRABALHO, CVOCED DEVE RIKQA AB CVBEI5TAR. AKLEJMFD DISOSK VOCE DEVERIN A DXCOM-PSARFAR NOSOSB NOBVN PRODUJTO NO MERCADO ASAS, PRATTROCIDSDO PELA MERCADI LIVRE O.K?
    2. atencIOSsamENTE,
    3. HAcker amigavel :)
Add Comment
Please, Sign In to add comment