exercício C

Boa noite,
Estou neste momento, com uma dúvida num exercício de C. O exercício é o seguinte:

14. Mover n bytes da área m2 para a área m1 (esta função deverá funcionar mesmo que m1 e m2
partilhem memória).

É sobre manipulação de strings. Não consigo implementar o código, nem como começar o algoritmo. Só me falta esta função para acabar o primeiro trabalho de C. Alguém me pode disponibilizar o código? Preciso mesmo do c+odigo desta função. Obrigado.
 
Se percebi, queres que te façam o código por ti?
Quer-me parecer que já te vi pedir o mesmo noutro forum...

Not Cool! O pessoal pode ajudar-te, mas fazer-te o trabalho? =/
 
Última edição:
Não é bem fazer o código por mim. Estou a iniciar agora programação, é a minha primeira cadeira que tenho de programação, e não estou a entrar muito bem. Eu até sei mais ou menos o que tenho que fazer. Tenho que Criar um array auxiliar e copiar os n primriros elementos do array m2 para esse array auxiliar, e depois copiar tudo o que esta no array auxiliar para o m1. Penso que é assim. Agora implementar é que não consigo.
 
Prontos. Visto precisar da função 14, e não sei como implementá la, e a tarefa 1 da folha em anexo ser para entregar ao meu prof de programação amanhã, pago a quem me disponibilizar o código. Para ser seguro, pago através de transferência bancária. obrigado.

Tarefa 1
Pretende-se que implemente funções de manipulação de strings. Entre essas funções, deverão existir as seguintes:
1. Calcular o tamanho de uma string s
2. Procurar um caractere c numa string s e devolver o primeiro índice onde ele se encontra
3. Contar o número de ocorrências de um caractere c numa string s
4. Devolver o primeiro índice em que uma string s1 se encontra dentro de outra string s2
5. Verificar se uma string s1 é prefixo de outra string s2
6. Verificar se uma string s1 é sufixo de outra string s2
7. Verificar se duas strings s1 e s2 são iguais
8. Verificar se uma string s1 é menor 1 do que uma string s2
9. Devolver 1, 0 ou 1 se a string s1 for menor, igual ou maior do que a string s2 (segundo a
ordem lexicográfica)
10. Procura o primeiro índice em s1 que contém um dos caracteres na string s2
11. Procura o primeiro índice em s1 que não contém um dos caracteres na string s2
12. Copiar para s1 a string s2
13. Colar s2 ao fim da string s1
14. Mover n bytes da área m2 para a área m1 (esta função deverá funcionar mesmo que m1 e m2
partilhem memória)




Nos casos de funções que devolvam um índice, estas deverão devolver o valor 1 caso não encontrem
o que procuram.
Para testar o seu código sugere-se que faça um programa para cada função que leia os argumentos
e imprima o resultado. Mas tenha o cuidado de colocar todas as funções implementadas num módulo
(num ficheiro chamado cadeias.c e que estas não imprimam nem leiam nada.
O que queremos dizer com isto é que as funções que vai implementar devem ter os seguintes
protótipos (que ficariam no ficheiro cadeias.h):
int cad_tamanho ( char s []);
int cad_procurar_car ( char c, char s []);
int cad_ocorrencias ( char c, char s []);
int cad_procurar_str ( char s1 [], char s2 []);
int cad_e_prefixo ( char s1 [], char s2 []);
int cad_e_sufixo ( char s1 [], char s2 []);
int cad_iguais ( char s1 [], char s2 []);
int cad_primeiro ( char s1 [], char s2 []);
int cad_comparar ( char s1 [], char s2 []);
int cad_um_dos ( char s1 [], char s2 []);
int cad_nenhum_dos ( char s1 [], char s2 []);
int cad_copiar ( char s1 [], char s2 []);
int cad_colar ( char s1 [], char s2 []);
int cad_mover (( char m1 [], char m2 [], int n);
E, para testar cada função, escrever-se-ia um programa do género (por exemplo no ficheiro
tproc.c):
# include <stdio .h>
# include " cadeias .h"
int main () {
char s1 [1000];
char s2 [1000];
scanf ("%s", s1 );
scanf ("%s", s2 );
printf ("%d\n", cad_procurar_str (s1 , s2 ));
return 0;
}
E compilaríamos o programa escrevendo por exemplo:
gcc -o tproc tproc.c cadeias.c
Tarefa 2
Para avaliar a tarefa 2, sugere-se que faça um programa que leia dois inteiros (o no de linhas nl e o
no de colunas nc da sopa de letras) e seguidamente leia as nl linhas da sopa de letras. Após isso o
seu programa deve ler o no de coordenadas n e seguidamente os n pares de coordenadas sabendo que
primeiro se lê o no da coluna c e depois o no da linha l.
Segue-se um exemplo:
3 4
ABCD
2
EFGH
IJKL
5
1 2 1 3 2 2 3 3 2 4
Devendo neste caso o seu programa imprimir a string BCFKH.
3
 
Back
Topo