Ir ao conteúdo

Posts recomendados

Postado

No que você precisa de ajuda? Qual sua dúvida?

(Uma dica pra vida, evite usar o imperativo - "ajude" - quando você está pedindo um favor. Fica parecendo que está dando uma ordem...)

  • Curtir 2
Postado

é como aqueles exercícios bobinhos dos livros de criança: você tem que usar os 7 símbolos e colocar na ordem lá onde estão os pontos, de modo que o programa resultante faça o previsto, inverter a string de entrada.

  • Curtir 1
Postado
13 horas atrás, arfneto disse:

é como aqueles exercícios bobinhos dos livros de criança: você tem que usar os 7 símbolos e colocar na ordem lá onde estão os pontos, de modo que o programa resultante faça o previsto, inverter a string de entrada.

mas, o problema é que eu não tenho noção de como fazer isso.

  • Curtir 1
Postado
agora, arfneto disse:

não sabe escrever uma função que inverte uma string?

 

O próprio enunciado é uma dica

 

 

Cara, tipo assim, o meu único contato com C foi por esse livro. '-'

adicionado 4 minutos depois
agora, arfneto disse:

não sabe escrever uma função que inverte uma string?

 

O próprio enunciado é uma dica

 

 

Mas, deixando a dúvida um pouca mais específica... o que que a variável len vai armazenar? Str len é para encontrar o valor da string, então vai armazenar o quê?? 

Postado

 

3 minutos atrás, Pluto Thayph disse:

Não, Use a Cabeça C

Claro! Só!!! Esse era meu segundo palpite porque eles também são ótimos, essa é outra serie maravilhosa. 

Postado
agora, Mauro Britivaldo disse:

 

Claro! Só esse era meu segundo palpite porque eles também são ótimos, essa é outra serie maravilhosa. 

Sobre o problema, que que a variável len vai armazenar? Str len é para encontrar o valor da string, então vai armazenar o quê?

Postado
agora, herbertbahia disse:

como nesse exemplo que tem


for (size_t i = 0; i < sizeof array / sizeof *array; i++) {
    // work with array[i];
}

 

cara, cheguei nessa parte do livro e não entendendo os códigos, o q você acha que eu devo fazer?

  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Postado
1 hora atrás, Pluto Thayph disse:

Sobre o problema, que que a variável len vai armazenar? Str len é para encontrar o valor da string, então vai armazenar o quê?

strlen é uma função que retorna o tamanho da string. E a variável len vai armazenar esse valor.

 

Então se a string for "ABC", len vai armazenar o valor 3.

 

Postado

"size_t é normalmente usado pra indexar arranjos (arrays) e fazer contagem em laços (loops)" Como assim indexar arrays?

 

Se está aprendendo é bom --- muito bom --- usar um IDE. E moderno. E escrever seus programas nele. O que você usa?
 

image.png.cd4670269a1a6783f6965349c1cd8a96.png

 

veja esse caso: você declarar algo como size_t e põe o ponteiro do mouse sobre o size_t: alguns segundos depois o próprio IDE acende a definição para você: size_t é simplesmente um int sem sinal: unsigned int

 

Você deve usar size_t em casos em que é mais prático: se sabe que só vai usar números positivos o compilador controla pra você e não precisa ficar a vida toda testando se o cara digitou um valor negativo para  a idade, por exemplo.

 

Nesse caso aqui é o tamanho da string, que naturalmente não pode ser negativo.

 

Isso você podia ter feito:

 

void print_reverse(char* a)
{
    size_t len = strlen(s);

    char* t = [1] + [2] - 1;
  
    while ( [3] >= [4] )
    {
        printf("%c", *t);
        t = [5] [6] [7];
    {
    puts("");
}

[ ] s
[ ] t
[ ] len 
[ ] s
[ ] - 
[ ] 1
[ ] t

 

se não entende os códigos volte umas páginas do livro, porque os exercícios vem DEPOIS dos conceitos...

 

  • Curtir 1
  • mês depois...
  • Membro VIP
Postado

@Pluto Thayph, pelo que eu entendi, você precisaria associar o número com a opção correspondente. Como citado por @arfneto.

 

Eu não manjo de C, mas acho que seria algo assim:

 

Em 12/06/2020 às 17:34, arfneto disse:

void print_reverse(char* s)
{
    size_t len = strlen(s);

    char* t = [1] + [2] - 1;
  
    while ( [3] >= [4] )
    {
        printf("%c", *t);
        t = [5] [6] [7];
    {
    puts("");
}

 


[ ] s
[ ] t
[ ] len 
[ ] s
[ ] - 
[ ] 1
[ ] t

 

 

Por exemplo, na primeira linha tem:

char* t = [1] + [2] - 1;

 

Acho que poderia preencher com algo como:

[1] s
[ ] t
[2] len 
[ ] s
[ ] - 
[ ] 1
[ ] t

Que seria equivalente a:

char* t = s + len - 1;

 

t seria um ponteiro auxiliar;

s é o ponteiro que apontaria para o início da string que quer inverter. Foi recebido lá no parâmetro da função. Então, creio que as posições da string ficam em sequência.. um após o outro, ou seja: em C, uma string seria como um "conjunto de caracteres".

len seria o tamanho (quantidade de caracteres) dessa string;

Daí, essa linha estaria fazendo t apontar para última posição da string. Já que ele pegaria o resultado da posição de "s somada de "len" posições - 1" para frente, resultando assim com a posição de memória que está apontando para o fim da string. Entende? 

 

Faltaria associar o que seria o 3, 4, 5, 6 e 7.. Cada número seria substituído por alguma coisa.

 

Creio que seja algo por aí. Se tiver dúvidas, sugiro dar uma pesquisa sobre algo como "gerenciamento de ponteiros em C". Veja aulas e exemplos de exercícios resolvidos.... Qualquer coisa posta o que já conseguiu fazer e onde está com dúvidas.

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!