Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Krazzi

Urgencia a nivel de strings e argumentos

Recommended Posts

Krazzi

"      Pretende-se que implemente um programa que seja capaz de realizar o seguinte output:

$ prog the quick brown fox

fox+brown+quick+the

void main(int argc, char *argv[]) {
char resultado[100];
/* o seu código deve estar colocado aqui */
printf("%s",resultado);
}

    "

Tenho uma duvida...queria inserir o código usando strings, como faço?

Share this post


Link to post
Share on other sites
merlin3000

Leste o primeiro comentário ao código? Se reparares falam em strings.

Em C uma string é simplesmente um array de caracteres em que o ultimo é o caracter '\0'. Deste modo só precisas de saber o endereço inicial da string, porque é fácil de ver onde ela acaba.


Criar é Divertido

Share this post


Link to post
Share on other sites
n3lThon

/* o seu código deve estar colocado aqui */ -> "strcpy(resultado,"fox+brown+quick+the");".

Assim deve de fazer o que tu queres. Tens de usar a biblioteca string.h


dreams.each do |dream|

   dream.make_it_happen

end

Share this post


Link to post
Share on other sites
merlin3000

Nesse caso sempre que se corria o programa ele iria imprimir essa frase. Acho que o que é pedido e está a ser trabalhado no outro tópico, é dada uma frase qualquer, invertê-la e colocar um '+' em vez de espaços.


Criar é Divertido

Share this post


Link to post
Share on other sites
n3lThon

Depende, ele não disse se há input ou não. ;)


dreams.each do |dream|

   dream.make_it_happen

end

Share this post


Link to post
Share on other sites
Krazzi

O input e sempre diferente.......se quiser por a b c , ele iria aparecer o que estava no strcpy........mas então qual e a diferença entre usar vectores e strings neste exemplo?

Share this post


Link to post
Share on other sites
n3lThon

Pois... Eu não sabia é que havia input. :/


dreams.each do |dream|

   dream.make_it_happen

end

Share this post


Link to post
Share on other sites
merlin3000

Se tiveres o seguinte vector [A,B,C].

Se colocasses um '\0' no fim [A,B,C,\0] podias-lhe chamar agora uma string.

A vantagem de usar o '\0' como caracter delimitador é que normalmente quando percorres um vector precisas de saber duas coisas, a posição inicial e o seu tamanho. No caso da string só precisas de saber a posição inicial porque depois é percorrer enquanto o caracter lido não for o '\0'.

Podes manipular uma string exactamente da mesma maneira do que um vector, porque é um vector.


Criar é Divertido

Share this post


Link to post
Share on other sites
Krazzi

Então se eu tivesse uma questão pra por o mesmo programa um usando vectores e o outro usando strings ponha o mesmo? no de strings não tenho que por #include <string.h>?

Share this post


Link to post
Share on other sites
Krazzi

Mas então numa pergunta se me pedirem um programa usando vectores e o outro com strings e a mesma resposta?

Share this post


Link to post
Share on other sites
n3lThon

Depende. Uma string já é um vector unidimensional. Para um bidimensional: "vector[100][100]".


dreams.each do |dream|

   dream.make_it_happen

end

Share this post


Link to post
Share on other sites
Krazzi

Sim eu conheço os vectores bi e unidimensionais....um exemplo de bidimensionais e o jogo do galo

---------------------------------------------------------------------------------------------

1 – Pretende-se que implemente um programa que seja capaz de realizar o seguinte output:

$ prog ola povo cruel

ola+povo+cruel

Como já percebeu este programa usa o argc e o argv da linguagem C. No entanto para resolver este

problema deve ser capaz de utilizar o código indicado abaixo. Quer isto dizer que devem colocar os

vários argumentos do programa no vector resultado.

Note que não poderá utilizar outra forma de escrita do resultado.

void main(int argc, char *argv[]) {

char resultado[100];

/* o seu código deve estar colocado aqui */

printf("%s",resultado);

}

a) [3] Implemente uma solução com vectores.

;) [3] Implemente uma solução com apontadores.

---------------------------------------------------------------------------

Este e a pergunta da qual inda estou com duvidas

Share this post


Link to post
Share on other sites
merlin3000

Então aí o problema não é se é string ou não. É usar vectores (normal ou strings) ou por apontadores.

Tens noções de apontadores? Porque é fácil de implementar com apontadores só é preciso alterar um pouco a sintaxe.

Mas sim à tua pergunta anterior, como uma string é um vector podem ser ambos resolvidos da mesma maneira.


Criar é Divertido

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.