Ir ao conteúdo

Posts recomendados

Postado

image.png.9e4bba0c375120d869c89b3d974317c6.png

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Questao02salu
{
    class Program
    {
        static void Main(string[] args)
        {
            contaLetra("Paralelepipedo");

        }

        public static string contaLetra(string palavra)
        {

     

            for (int i = 0; i < palavra.Length; i++)
            {
                
                Console.Write(palavra[i]);
                               
            }

            return " ";
        }
    }
}

 

Postado

@CrazyGladiator  No For da função use uma variável inteira para contar a quantidade de letras seguidas iguais.

 

Fazendo a comparação você pode ir concatenando a letra e o contador para formar a palavra compactada,

 

if(letra == palavra.Substring(i, 1)){
    conta++;
}else{
    if(conta==0) novaPalavra = novaPalavra + letra;
    if(conta>0){
        conta++;
        novaPalavra = novaPalavra + letra + conta;
    }
    conta = 0;
}
letra = palavra.Substring(i, 1);

 

Postado
3 minutos atrás, Midori disse:

@CrazyGladiator  No For da função use uma variável inteira para contar a quantidade de letras iguais seguidas.

 

Fazendo a comparação você pode ir concatenando a letra e o contador para formar a palavra compactada,

 


if(letra == palavra.Substring(i, 1)){
    conta++;
}else{
    if(conta==0) novaPalavra = novaPalavra + letra;
    if(conta>0){
        conta++;
        novaPalavra = novaPalavra + letra + conta;
    }
    conta = 0;
}
letra = palavra.Substring(i, 1);

 

obrigado, mas eu não entendi, a variavel letra já seria uma com a extensão inteira?

adicionado 6 minutos depois
5 minutos atrás, CrazyGladiator disse:

obrigado, mas eu não entendi, a variavel letra já seria uma com a extensão inteira?

tipo, eu não entendi como encaixar as variáveis novas, como letra, novaPalavra e etc...

Postado
43 minutos atrás, CrazyGladiator disse:

tipo, eu não entendi como encaixar as variáveis novas, como letra, novaPalavra e etc...

Apenas declare essas variáveis na função.

 

novaPalavra será o retorno da função (return novaPalavra).

 

 

Postado
5 minutos atrás, Midori disse:

Apenas declare essas variáveis na função.

 

novaPalavra será o retorno da função (return novaPalavra).

 

 

image.png.d1330f6511d9e173ba6e6eb40d29dee4.png

  public static string contaLetra(string palavra)
        {


         string letra;
         string novaPalavra;
         int conta = 0;

            for (int i = 0; i < palavra.Length; i++)
            {



                if (letra == palavra.Substring(i, 1))
                {
                    conta++;
                }
                else
                {
                    if (conta == 0) novaPalavra = novaPalavra + letra;
                    if (conta > 0)
                    {
                        conta++;
                        novaPalavra = novaPalavra + letra + conta;
                    }
                    conta = 0;
                }
                letra = palavra.Substring(i, 1);

            }

            return novaPalavra;
        }

 

Postado
9 minutos atrás, Midori disse:

Antes de retornar o valor você vai ter que fazer mais uma verificação na variável conta para pegar a última letra

image.thumb.png.9ce1498a79b2b8d114588c64f88b4274.pngimage.png.6f897311cc24760252ec26f5601fb740.png

adicionado 0 minutos depois
agora, CrazyGladiator disse:

image.thumb.png.9ce1498a79b2b8d114588c64f88b4274.pngimage.png.6f897311cc24760252ec26f5601fb740.png

da isso quando eu tento executar, e sem atribuir a "letra" e "novapalavra" a alguma coisa, elas dão erro

Postado
4 minutos atrás, Midori disse:

Inicie fazendo estas atribuições,


string novaPlalavra = "";
string letra = "";
int conta = 0;

 

class Program
    {
       

        static void Main(string[] args)
        {
            contaLetra("Paralelepipedo");

        }

        public static string contaLetra(string palavra)
        {


            string novaPalavra = "";
            string letra = "";
            int conta = 0;

            for (int i = 0; i < palavra.Length; i++)
            {



                if (letra == palavra.Substring(i, 1))
                {
                    conta++;
                }
                else
                {
                    if (conta == 0) novaPalavra = novaPalavra + letra;
                    if (conta > 0)
                    {
                        conta++;
                        novaPalavra = novaPalavra + letra + conta;
                    }
                    conta = 0;
                }
                letra = palavra.Substring(i, 1);

                conta = conta;

            }


            return novaPalavra;
        }
    }

Continua na tela quando roda o programa nada, ai ta o codigo se quiser testar, eu não fiz nenhuma alteração fora o que você me passou

Postado
4 minutos atrás, CrazyGladiator disse:

não consigo, diz que ela não existe no contexto atual, é como ela não conseguisse puxar ela da função contaLetra.

 

Com essas alterações eu consegui rodar sem erro...

 

Posta o seu código completo.

 

 

 

Postado
agora, Midori disse:

 

Com essas alterações eu consegui rodar sem erro...

 

Posta o seu código completo.

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
       

        static void Main(string[] args)
        {
            Console.WriteLine();
            contaLetra("Paralelepipedo");

        }

        public static string contaLetra(string palavra)
        {


            string novaPalavra = "";
            string letra = "";
            int conta = 0;

            for (int i = 0; i < palavra.Length; i++)
            {



                if (letra == palavra.Substring(i, 1))
                {
                    conta++;
                }
                else
                {
                    if (conta == 0) novaPalavra = novaPalavra + letra;
                    if (conta > 0)
                    {
                        conta++;
                        novaPalavra = novaPalavra + letra + conta;
                    }
                    conta = 0;
                }
                letra = palavra.Substring(i, 1);

                

            }


            return novaPalavra;
        }
    }
}

Desculpa estar dando trabalho, agradeço um bilhão% desde já.

Postado

@CrazyGladiator Coloque este bloco antes do retrun da função (fora do loop) para pegar a última letra,

 

if(conta==0) novaPlalavra = novaPlalavra + letra;
if(conta>0){
    conta++;
    novaPlalavra = novaPlalavra + letra + conta;
}

 

Postado
2 minutos atrás, Midori disse:

@CrazyGladiator Coloque este bloco antes do retrun da função (fora do loop) para pegar a última letra,

 


if(conta==0) novaPlalavra = novaPlalavra + letra;
if(conta>0){
    conta++;
    novaPlalavra = novaPlalavra + letra + conta;
}

 

Funciono!!! Eu estava aqui martelando e entendi o que teria que ter feito eu, peço um muito obrigado, sei que foi difícil ajudar minha situação. Mais uma vez muito obrigado.

Postado
agora, itz disse:

@CrazyGladiator voce poderia compartilhar o codigo ai?

aqui

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            int cont = 0;
            int[] num = new int[10];

            while (num[cont] >= 1)
            {

                num[cont] = int.Parse(Console.ReadLine());
                cont = cont + 1;
                if (num[cont] == 0)
                {
                    break;
                }
            }


        }


    }
}

Desculpa a bagunça nele é porque eu fiz coisas nele testando ai voltei para quando você me ajudo na hora.

adicionado 1 minuto depois
1 minuto atrás, CrazyGladiator disse:

aqui


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            int cont = 0;
            int[] num = new int[10];

            while (num[cont] >= 1)
            {

                num[cont] = int.Parse(Console.ReadLine());
                cont = cont + 1;
                if (num[cont] == 0)
                {
                    break;
                }
            }


        }


    }
}

Desculpa a bagunça nele é porque eu fiz coisas nele testando ai voltei para quando você me ajudo na hora.

opa

pera mandei o errado

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Questao02
{
    class Program
    {


        static void Main(string[] args)
        {
            Console.WriteLine(contaLetra("kkkkllnnn"));
        }

        public static string contaLetra(string palavra)
        {


            string novaPalavra = "";
            string letra = "";
            int conta = 0;

            for (int i = 0; i < palavra.Length; i++)
            {



                if (letra == palavra.Substring(i, 1))
                {
                    conta++;
                }
                else
                {
                    if (conta == 0) novaPalavra = novaPalavra + letra;
                    if (conta > 0)
                    {
                        conta++;
                        novaPalavra = novaPalavra + letra + conta;
                    }
                    conta = 0;
                }
                letra = palavra.Substring(i, 1);



            }

            if (conta == 0) novaPalavra = novaPalavra + letra;
            if (conta > 0)
            {
                conta++;
                novaPalavra = novaPalavra + letra + conta;
            }


            return novaPalavra;
        }
    }
}

aqui

Postado
agora, itz disse:

@CrazyGladiator nao to conseguindo rodar esse codigo, parece de outra questao kkkkkk

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Questao02
{
    class Program
    {


        static void Main(string[] args)
        {
            Console.WriteLine(contaLetra("kkkkllnnn"));
        }

        public static string contaLetra(string palavra)
        {


            string novaPalavra = "";
            string letra = "";
            int conta = 0;

            for (int i = 0; i < palavra.Length; i++)
            {



                if (letra == palavra.Substring(i, 1))
                {
                    conta++;
                }
                else
                {
                    if (conta == 0) novaPalavra = novaPalavra + letra;
                    if (conta > 0)
                    {
                        conta++;
                        novaPalavra = novaPalavra + letra + conta;
                    }
                    conta = 0;
                }
                letra = palavra.Substring(i, 1);



            }

            if (conta == 0) novaPalavra = novaPalavra + letra;
            if (conta > 0)
            {
                conta++;
                novaPalavra = novaPalavra + letra + conta;
            }


            return novaPalavra;
        }
    }
}

aqui

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