Arquivos da categoria: Strings

Substring – C

//================================================================
// Nome Do Arquivo: string_substring.c
// File Name: string_substring.c
//
// Descrição: O programa retorna uma string a partir de um dado
//            intervalo: [start, end[
//================================================================

// Libs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Protótipo da função
char* string_substring(char str[], int start, int end);

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100], *sub;
 int start, end;
 
 // Lê a string
 printf("Digite a string: ");
 gets(str);
 printf("Digite a posição inicial: ");
 scanf("%d", &start);
 printf("Digite a posição final: ");
 scanf("%d", &end);
 
 // Retorna a substring
 sub = string_substring(str, start, end);
 
 // Imprime a substring
 printf("A substring: %sn", sub);
 
 system("pause");
 return 0;
}

char* string_substring(char str[], int start, int end) {
    int i, j;
    char *sub; 
    
    // Verifica valores incompatíveis e 
    // retorna NULL
    if(start >= end || end > strlen(str)) {
        return NULL;
    }
    
    // Aloca memória para a substring
    sub = (char *) malloc(sizeof(char) * (end - start + 1));
    
    // Copia a substring para a variável
    for(i = start, j = 0; i < end; i++, j++) {
        sub[j] = str[i];
    }
    
    // Terminador de string
    sub[j] = '&#092;&#048;';
    
    return sub;
}

Contador de Palavras – C

 


//================================================================
// Nome Do Arquivo: string_word_count.c
// File Name: string_word_count.c
//
// Descrição: O programa conta o número de palavras em uma string
//================================================================

// Protótipo da função
int string_word_count(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];
 int result;

 // Lê a url
 printf("Digite a string: ");
 gets(str);

 // Converte a string
 result = string_word_count(str);

 // Imprime o total de palavras
 printf("O resultado: %dn", result);

 system("pause");
 return 0;
}

int string_word_count(char str[]) {
 int i, result = 1;

 for(i = 0; str[i] != '&#092;&#048;'; i++) {
 if(str[i] == ' ') {
 result++;
 }
 }

 return result;
}

Conversor para Letras Minúsculas – C


//================================================================
// Nome Do Arquivo: string_to_lowercase.c
// File Name: string_to_to_lowercase.c
//
// Descrição: O programa muda todas as letras de uma string para
// mainúsculas. Não inclui letras com acentos ou
// cedilha.
//================================================================

// Protótipo da função
void string_to_lowercase(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];

 // Lê a url
 printf("Digite a string: ");
 gets(str);

 // Converte a string
 string_to_lowercase(str);

 // Imprime a string convertida
 printf("A string resultante: %sn", str);

 system("pause");
 return 0;
}

// A função muda todos as letras para minúsculas
void string_to_lowercase(char str[]) {
 int i;

 // Verifica cada caractere da string
 for(i = 0; str[i] != '&#092;&#048;'; i++) {
 // Verifica se é uma letra maiúscula
 // segundo a tabela ascii
 if(str[i] >= 65 && str[i] <= 90) {
 // Transforma em uma letra minúscula
 str[i] += 32;
 }
 }
}

Conversor para Letras Maiúsculas – C


//================================================================
// Nome Do Arquivo: string_to_uppercase.c
// File Name: string_to_uppercase.c
//
// Descrição: O programa muda todas as letras de uma string para
// maiúsculas. Não inclui letras com acentos ou cedilha
//================================================================

// Protótipo da função
void string_to_uppercase(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];

 // Lê a url
 printf("Digite a string: ");
 gets(str);

 // Converte a string
 string_to_uppercase(str);

 // Imprime a string convertida
 printf("A string resultante: %sn", str);

 system("pause");
 return 0;
}

// A função muda todos as letras para maiúsculas
void string_to_uppercase(char str[]) {
 int i;

 // Verifica cada caractere da string
 for(i = 0; str[i] != '&#092;&#048;'; i++) {
 // Verifica se é uma letra minúscula
 // segundo a tabela ascii
 if(str[i] >= 97 && str[i] <= 122) {
 // Transforma em uma letra maiúscula
 str[i] -= 32;
 }
 }
}

Inversor de URL – C

 


//================================================================
// Nome Do Arquivo: string_reverse.c
// File Name: string_reverse.c
//
// Descrição: O programa inverte uma url e mostra o resultado.
//================================================================

// Protótipo da função
void string_reverse(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];

 // Lê a url
 printf("Digite a url: ");
 gets(str);

 // Inverte a url
 string_reverse(str);

 // Imprime a url invertida
 printf("A url resultante: %sn", str);

 system("pause");
 return 0;
}

// A função inverte uma string
void string_reverse(char str[]) {
 int i, j, size;
 char *aux;

 // Calcula o tamanho da string original
 size = strlen(str);
 // Cria uma string auxiliar de mesmo tamanho
 aux = (char *)malloc(sizeof(char) * size);
 // Copia a string original para a auxiliar
 strcpy(aux, str);

 // Copia a string de forma ivertida
 // para a string original caracter por caracter
 for(i = (size-1), j = 0; i >= 0; i--, j++) {
 str[j] = aux[i];
 }

 // Marca o fim da string
 str[j] = '&#092;&#048;';
}

Comparador de Strings – C


//================================================================
// Nome Do Arquivo: string_compare.c
// File Name: string_compare.c
//
// Descrição: O programa compara duas strings e diz se são iguais
// ou diferentes.
//================================================================

// Protótipo da função comparadora de strings
int string_compare(char str1[], char str2[]);

// Libs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str1[100], str2[100];

 // Lê a primeira string
 printf("Digite a primeira string: ");
 gets(str1);
 // Lê a segunda string
 printf("Digite a segunda string: ");
 gets(str2);

 // Copara se as strings são iguais e imprime o resultado
 if(string_compare(str1, str2)) {
 printf("Strings iguais.n");
 } else {
 printf("Strings diferentes.n");
 }

 system("pause");
 return 0;
}

// A função compara duas strings
// Se são iguais retorna 1
// Se são diferentes retorna 0
int string_compare(char str1[], char str2[]) {
 int i;

 for(i = 0; str1[i] != '&#092;&#048;', str2[i] != '&#092;&#048;'; i++) {
 if(str1[i] != str2[i]) {
 return 0;
 }
 }

 return 1;
}

Copiador de Strings – C


//================================================================
// Nome Do Arquivo: string_copy.c
// File Name: string_copy.c
//
// Descrição: O programa copia uma string em outra
//================================================================

// Protótipo da função copiadora de strings
void string_copy(char origin[], char destiny[]);

// Libs
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

// Função main
// Main Function
int main(int argc, char** argv)
{
 char origin[100], destiny[100];

 // Lê a string a ser copiada
 printf(&quot;Digite a string: &quot;);
 gets(origin);

 // Copia a string para outra variável
 string_copy(origin, destiny);

 printf(&quot;A string resultante: %sn&quot;, destiny);

 system(&quot;pause&quot;);
 return 0;
}

// Função concatenadora de strings
void string_copy(char origin[], char destiny[]) {
 int i;

 // Copia a segunda string na primeira
 for(i = 0; origin[i] != '&#092;&#048;'; i++) {
 destiny[i] = origin[i];
 }

 // Marca o fim da string cópia
 destiny[i] = '&#092;&#048;';
}

Concatenador de Strings – C

//================================================================
// Nome Do Arquivo: string_concatenar.c
// File Name: string_concatenar.c
//
// Descrição: O programa concatena duas strings na primeira delas
//================================================================

// Protótipo da função concatenatora de caracteres
void string_concatenar(char str1[], char str2[]);

// Libs
#include <stdio.h>
#include <stdlib.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str1[100], str2[100];
 
 // Lê as duas strings
 printf("Digite a primeira string: ");
 gets(str1);
 printf("Digite a segunda string: ");
 gets(str2);
 
 string_concatenar(str1, str2);
 
 printf("A string resultante: %sn", str1);
 
 system("pause");
 return 0;
}

// Função concatenadora de strings
void string_concatenar(char str1[], char str2[]) {
	int i, j;
	
	// Avança até o fim da primeira string
	for(i = 0; str1[i] != '&#092;&#048;'; i++);
	
	// Copia a segunda string na primeira
	for(j = 0; str2[j] != '&#092;&#048;'; j++, i++) {
		str1[i] = str2[j];
	}
	
	// Marca o fim da string concatenada
	str1[i] = '&#092;&#048;';
}

Contador de Caracteres em String – C

//================================================================
// Nome Do Arquivo: string_count.c
// File Name: string_count.c
//
// Descrição: O programa conta o número de caracteres em uma
// 			  string e exibe na tela.
//================================================================

// Protótipo da função contadora de caracteres
int string_count(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];
 int contador;
 
 printf("Digite uma palavra: ");
 gets(str);
 
 contador = string_count(str);
 
 printf("A string possui %d caracteres.n", contador);
 
 system("pause");
 return 0;
}

int string_count(char str[]) {
	int i;
	
	for(i = 0; str[i] != '&#092;&#048;'; i++);
	
	return i;
}