1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pessoal tenho uma dúvida....

Discussão em 'Programação' iniciada por Biokiller251092, 15 de Abril de 2009. (Respostas: 2; Visualizações: 577)

  1. Pessoal tenho uma dúvida no seguinte exercicio: "Construa um programa que pede duas strings (str1 e str2) e cria uma nova string com os caracteres alternados, ou seja: os dois primeiros caracteres são o primeiro caracter da str1 e o primeiro da str2, o terceiro e quarto caracteres sao o segundo caracter da str1 e o segundo da str2 e assim sucessivamente. Por exemplo, a string "Ola" e "IPP" dariam origem a "OIlPaP".

    Eu já fiz uma parte do programa, consigo juntar duas strings mas nao alternadamente:

    O meu código está aqui:
    Código:
    #include <stdio.h>
     #include <conio.h>
    
     void main()
    {
    
    
        int i=0;
        char s[50];
        char r[50];
        char a[102];
        char *p1;
        char *p3;
        clrscr();
    
        printf("insira uma string:");
        gets(s);
        printf("insira outra string:");
        gets(r);
    
        p1=s;
        p3=a;
        while(*p1!='\0')
        {
          *p3=*p1;
          p1++;
          p3++;
        }
    
        p1=r;
        while(*p1!='\0')
        {
          *p3=*p1;
          p1++;
          p3++;
    
        }
        *p3='\0';
    
        printf("%s",a);
    
    }
    
    Precisava da vossa ajuda para por isto alternado.:005:
    Abraços... Biokiller
     
    Última edição pelo moderador: 15 de Abril de 2009
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Assim por alto, e considerando que "#" indica "tamanho da string" (a notação é minha, não é standard):

    - #str3 = #str1 + #str2
    - Assumindo que o #str1 = #str2, fazes um ciclo, com variável "k", e entre 0 e #str1 - 1
    - - str3[k] = str1[k]
    - - str3[k+1] = str2[k]
    - - k = k + 2

    Isto deve chegar para que str3 tenha as strings str1 e str2 "misturadas". Consegui fazer-me entender? :P
     
  3. Mais ou menos mas podias-me por em código para ver como ficaria mais ou menos?:D
     

Partilhar esta Página