void append (char s1[], char s2[])
{ int i = j = 0;
while (s1[i] != '')
i++;
while ((s1[i++] = s2[j++])!='');
}
7- Protótipo: void print_string (char s[]);
void print_string(char s)
{
int i=0;
while(s[i]!=NULL)
putchar(s[i++]);
}
Eu fiz isso aqui, eu preciso saber se ta certo e se não tiver alguém pode me ajudar?
#include <stdio.h>
#include <stdlib.h>
int mystrlen (char s[]);
int mystrcmp (char s1[], char s2[]);
void swap (int a, int b);
void swapv (int a[], int b[], int n);
void mystrcpy (char s[], char t[]);
void print_string (char s[]);
void append (char s1[], char s2[]);
int a = 3;
int b = 7;
int i1[] = { 1,2,3,4,5,6,7,8,9,10 };
int i2[] = { 10,9,8,7,6,5,4,3,2,1 };
int main(int argc, char *argv[])
{
char s[] = { "fernando" }; //Cria uma string
char s2[] = { "fernando" };
int i , j; // cria uma variavel int para receber o retorno da função
i = mystrlen(s); // Chama a função para determinar o tamanho da string e colocar o valor em i
printf("Tamanho da string = %i",i); //Imprime o tamanho da string
printf("\n"); // pula uma linha
j = mystrcmp(s,s2); // Chama a função comparar as string e colocar o valor em j
printf("0 se as string forem iguais = %i",j); //Imprime j
printf("\n"); // pula uma linha
swap(a,b);
swapv(i1,i2,10);
mystrcpy(s,s2);
append(s,s2);
print_string(s);
system("PAUSE"); //pausa o sistema
return 0;
}
/*Função para determinar o tamanho de uma string
recebe uma string de parametro
retorna um int com o tamanho da string
*/
int mystrlen( char s[])
{
int i;
for (i=0; s[i] != ''; i++);
return (i);
}
/*Funçao para comparar string
retorna 0 se as string forem iguais
*/
int mystrcmp (char s1[], char s2[])
{
int i = 0;
while ( s1[i] == s2[i])
if (s1[i++] == '')
return (0);
return (s1[i] - s2[i]);
}
/* recebe dois inteiros e troca entre eles */
void swap(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
/* função para trocar dois vetores
Recebe como parametros dois vetores e o tamanho deles
não retorna nada*/
void swapv(int a[], int b[], int n)
{ int i, temp;
for (i=0; i<n; i++)
{
temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
/* Copia a string */
void mystrcpy(char s[], char t[])
{ int i=0;
while((s[i]=t[i])!= '')
i++;
}
/*escreve a string de tras para frente*/
void append (char s1[], char s2[])
{ int i = 0;
int j = 0;
while (s1[i] != '')
i++;
while ((s1[i--] = s2[j++])!='')
;
}
/* imprime uma string na tela*/
void print_string(char s[])
{
int i=0;
while(s[i]!=NULL)
putchar(s[i++]);
}
Pergunta
Felipe Xavier
Exercícios – vetores e strings
Escreva programa para testar as seguintes funções e descreva o que elas fazem. Faça seu programa principal imprimir o que retorna de cada função.
1- Protótipo: int mystrlen (char s[]);
2- Protótipo: int mystrcmp (char s1[], char s2[]); 3- Protótipo: void swap (int a, int B); 4- Protótipo: void swapv (int a[], int b[], int n); 5- Protótipo: void mystrcpy (char s[], char t[]); 6- Protótipo: void append (char s1[], char s2[]); 7- Protótipo: void print_string (char s[]); Eu fiz isso aqui, eu preciso saber se ta certo e se não tiver alguém pode me ajudar?Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.