AULA Exercicios Strings - Programação 1 - Engenharia

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Exercícios sobre strings

1.Implementar uma função para adicionar (append) n caracteres iniciais de uma string2 para o final de uma string1. Retornar 0 se sucesso ou -1 se detectado algum problema.

int str_ncat(char string1[], char string2[], int n)

Solução:

#include <stdio.h>

int str_len(char x[])
{
  int i=0;
  printf ("Endereço de x é %p\n", x);
  while (x[i]!=0)
    i++;
  return i;
}

int str_ncat(char string1[], char string2[], int n)
{
  int i,j;
  
  if (n<=0)
     return -1;
     
  i = str_len(string1);
  
  for (j=0;j<n && string2[j]!=0;j++) {
      string1[i] = string2[j];
      i++;
  } 
  if(string2[j]!=0)
     string1[i] =0;

  return 0;
}

main()
{
  char x[100]="IFSC-";
  char y[100]="Telecom SJ";
  
  str_ncat(x,y,30);
  printf("x - > %s\n", x); 
}

2.Implementar uma função para adicionar (append) a uma subcadeia da string2 para uma string1. A substring é iniciada no índice determinado por n.

 int str_nicat(char string1[], char string2[], int n)

3.Implementar uma função para comparar até n primeiros caracteres de duas cadeias passadas como parâmetro. Retornar 0 se iguais, -1 se diferentes.

 int str_ncmp(char string1[], char string2[], int n)

4.Implementar uma função para comparar uma substring da string2 com os n2 primeiros caracteres de string1. A substring é determinada pelo índice n1 com tamanho dado por n2. Retornar 0 se sucesso e -1 se problemas.

int str_nicmp(char string1[],char string2[], int n1, int n2)

5.Implementar uma versão não sensitiva a case da função str_cmp.


|}