Ir ao conteúdo

C, ajuda, ponteiros ?


wesleyWWW

Posts recomendados

Postado

Estou começando a estudar ponteiros em C, e queria fazer 2 exercício, que também irão me ajudar no estudo...

Mas não sei muito bem como fazer, qualquer dica ou ajuda é bem-vinda 

Aqui estão eles:


2nhgjsm.jpg

Postado

No primeira, passe o ponteiro como argumento da função. Aí vá incrementando em um loop enquanto for diferente de nulo. O retorno da função será o endereço incrementando menos o original.

No segundo, é somar os caracteres da string. Por exemplo, a codificação considerando apenas maiúsculas

while(*nova++ = *original++){          *(nova - 1) += *(nova - 1) == 90 ? 66 - 90 : 2;}
Postado

A forma mais simples de resolver é implementar uma função void com dois parâmetros, aí os argumentos passados serão os dois arrays já declarados na função principal.

Postado

Você precisa fazer uma funcão que receba um ponteiro pra char e retorne um ponteiro pra char, dessa forma você vai conseguir receber um array de char e retornar outro array de char. Como você não quer alterar o valor da sua primeira variável você vai precisa criar outra e alocar memória pra esse novo array, do mesmo tamanho da sua string original. Então você copia uma string na outra e manipula essa nova string ai é só retorna esse novo array.

Postado

valeu pela ajuda gente... Sorry não responder antes, andei fazendo outras coisas e só fui fazer esses 2 exercício agora...

Então, consegui fazer o 1, e o 2 falta só uma coisinha... 

Aqui está o meu código atual do 2:

#include <stdio.h>#include <string.h>int main() {char str1[50], str2[50], str3[50];char *ps, *ps2;int i;printf("Digite uma palavra:\n");scanf("%s", str1);printf("Palavra que vc digitou:\n%s\n", str1);ps = str2;ps2 = str3;for(i=0; i<(strlen(str1)); i++){	*ps = str1[i] + 2;	 ps++;}for(i=0; i<(strlen(str1)); i++){	*ps2 = str2[i] - 2;	 ps2++;}*ps = '\0';*ps2 = '\0';printf("str2 = %s\n", str2);printf("str3 = %s\n", str3);return 0;}



Então, o único problema é, uma palavra com Y ou Z não tem 2 letras a frente, por isso aparece uns símbolos, pra Y tinha q substituir por A e o Z por B, como posso fazer isso ?
 

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!