Jump to content


Photo

Usando Vetores Ou Matrizes


  • Faça o login para participar
10 replies to this topic

#1 MisterFoot

MisterFoot

    12 Horas

  • Usuários
  • 274 posts
  • Sexo:Não informado

Posted 15/06/2007, 19:00

Pessoal tenho que fazer um exercicio que diz:

Dado uma frase, faça um algoritmo que determine qual a consoante
mais utilizada.

Estou com duvidas como começar, se fosse uma função que pega partes de um texto daria certo, tipo a funcao substr([variavel], 0,2) por exemplo.

Mais gostaria de saber se tem como achar qual a consoante mais utilizada de um texto sem usar funcao, somente vetor ou matriz ou estrutura de repeticao, se tiver como me ajudem, caso nao tenha me digam qual funcao usar
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
MisterFoot
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/06/2007, 19:10

Vai ser um pouco complicado sem usar função. :ponder:

Te daria a solução agora se pudesse usar funções, até porque eu não sei sem usar funções. :D

PS. é Java?

Flws...
(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 MisterFoot

MisterFoot

    12 Horas

  • Usuários
  • 274 posts
  • Sexo:Não informado

Posted 15/06/2007, 19:27

É em java sim...
é preferivel se nao tiver função, se alguem souber e tiver como explicar mais ou menos como funciona.

e utilizando função? qual que seria?
existe algum site que contém uma lista de funções como o do PHP (php.net)?
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
MisterFoot
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/06/2007, 20:11

Faznedo uma iteração com a frase, verificando com o método charAt() cada caractere, você consegue o resultado.

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 MisterFoot

MisterFoot

    12 Horas

  • Usuários
  • 274 posts
  • Sexo:Não informado

Posted 16/06/2007, 00:53

Pessoal, olha o codigo que eu fiz, só que eu fiz contando as vogais, como eu posso fazer para melhorar ele e contar as consoantes? isso por qe se eu fazer ele para consoantes ao inves de vogais o código vai ficar enorme. tem como otimizar isso? e utilizar até menas variaveis?

Outro problema também é quando ele verifica qual é a maior vogal, da forma que eu fiz, se tiver a vogal "a" e "c" iguais, ele imprime como sendo somente a vogal "a" maior. Existe formas de resolver isso, mais as que eu conheço irá utilizar muitos condicionais "se". Como posso resolver esse problema também?


package exercicio;

import javax.swing.JOptionPane;

public class Lixo1 {
	
	public Lixo1() {
	}
	public static void main(String[] args){
		
		String lido, letraMaior = ""; 
		int num, total=0, contA=0, contE=0, contI=0, contO=0, contU=0;
		
		lido = JOptionPane.showInputDialog("Digite uma frase"); //Recebe frase
		num = lido.length(); //Pega a quantidade de letras na frase
		
		String[] letra = new String[num];
		
		for (int i=0; i<num; i++){
			letra[i] = "";
			letra[i] = letra[i] + lido.charAt(i);
		}

		for (int i=0; i<num; i++){
			if (letra[i].equalsIgnoreCase("a")){
				contA++;
			} else {
				if (letra[i].equalsIgnoreCase("e")){
					contE++;
				} else {
					if (letra[i].equalsIgnoreCase("i")){
						contI++;
					} else {
						if (letra[i].equalsIgnoreCase("o")){
							contO++;
						} else {
							if (letra[i].equalsIgnoreCase("u")){
								contU++;
							}
						}
					}
				}
			}
		}
		if ((contA >= contE) && (contA >= contI) && (contA >= contO) && (contA >= contU)){
				total = contA;
				letraMaior = "a";
		} else {
			if ((contE >= contA) && (contE >= contI) && (contE >= contO) && (contE >= contU)){
					total = contE;
					letraMaior = "e";
			} else {
				if ((contI >= contA) && (contI >= contE) && (contI >= contO) && (contI >= contU)){
						total = contI;
						letraMaior = "i";
				} else {
					if ((contO >= contA) && (contO >= contE) && (contO >= contI) && (contO >= contU)){
							total = contO;
							letraMaior = "o";
					} else {
						if ((contU >= contA) && (contU >= contE) && (contU >= contI) && (contU >= contO)){
								total = contU;
								letraMaior = "u";
						}
					}
				}
			}
		}
		JOptionPane.showMessageDialog(null, "A consonate mais utilizada é '" + letraMaior + "' e foi encontrada '" + total + "' na frase digitada");
	}
}

Faznedo uma iteração com a frase, verificando com o método charAt() cada caractere, você consegue o resultado.

Flws...
(ok2)

===================================================================================
===================================================================================
===================================================================================

Pessoal, tá ai abaixo as modificações que eu fiz, agora está funcionando como consoante.
Existe alguma forma de otimizar esse código?

Ou se tiver uma forma de fazer isso sem utilizar funções, como por exemplo a charAt(i) seria melhor ainda

import javax.swing.JOptionPane;

public class Trabalho2APC_Exerc13 {
	
	public Trabalho2APC_Exerc13() {
	}
	
	public static void main(String[] args){
		
		String lido; // Armazena a frase digitada
		int num; //recebe a quantidade de caracteres que contem na frase digitada (usa-se a função length();
		String letra; // Recebe os pedaços da frase, é a variavel que vai armazenar cada consoante para que possa fazer a contagem
		String letraMaior = ""; // Armazena a consoante que repete mais vezes
		int total = 0; //Armazena a quantidade de vezes que a consoante repetiu
		int[] contador = new int[20]; // Armazena a quantidade de vezes que recebeu cada consoante
		String[] vogal = new String[20]; // Armazena todas as consoantes para que possa fazer a verificação

		
		lido = JOptionPane.showInputDialog("Digite uma frase"); //Recebe frase
		num = lido.length(); //Pega a quantidade de letras na frase
		
		vogal[0] = "b"; //Recebe as consoantes
		vogal[1] = "c";
		vogal[2] = "d";
		vogal[3] = "f";
		vogal[4] = "g";
		vogal[5] = "h";
		vogal[6] = "j";
		vogal[7] = "k";
		vogal[8] = "l";
		vogal[9] = "m";
		vogal[10] = "n";
		vogal[11] = "p";
		vogal[12] = "q";
		vogal[13] = "r";
		vogal[14] = "s";
		vogal[15] = "t";
		vogal[16] = "v";
		vogal[17] = "w";
		vogal[18] = "x";
		vogal[19] = "z";
		
		for (int i=0; i<num; i++){ // Esse for repete a quantidade de caracteres que tem na frase
			letra = "";
			letra = letra + lido.charAt(i); //Parte a frase em pedaço para que possa conferir consoante por consoante

			for (int j=0; j<vogal.length; j++){ //Esse for roda a qtd de consoantes existentes no vetor vogal[] 
				if (letra.equalsIgnoreCase(vogal[j])){ //Verifica se a consoante da frase é igual à alguma consoante armazenada no vetor vogal[], a função equalsIgnoreCase() compara caracteres de texto
					contador[j]++; //acumula a quantidade de vezes a vogal está repetindo
				}
			}
		}

		for (int i=0; i<vogal.length; i++){ //Esse for roda a qtd de consoantes existentes no vetor vogal[] 
			total = Math.max(total, contador[i]); //Verifica a qtd de vezes que repitiu cada consoante, e utiliza a função Math.max() para verificar quel é a maior
		}
		
		for (int i=0; i<vogal.length; i++){ //Esse for roda a qtd de consoantes existentes no vetor vogal[] 
			if (total == contador[i]){ //Verifica se o total da maior consoante é igual ao total da consoante do vetor contador[i], para que possa armazenar qual é a consoante que repete mais vezes
				if (!letraMaior.equalsIgnoreCase("")){ //Esse condicional verifica se já tem alguma letra repitida, caso tenha pula para a linha de baixo
					letraMaior = letraMaior + ", " + vogal[i];  //Caso tenha duas consoantes que repitiu ao mesmo tempo, armazena a consoante atual que já estava, mais a nova consoante.
				} else {
					letraMaior = letraMaior + vogal[i]; // É feito essa linha apenas se nao tiver nenhuma consoante armazenada no momento
				}
			}
		}

		
		JOptionPane.showMessageDialog(null, "A consoante mais utilizada é '" + letraMaior + "' e foi encontrada '" + total + "' na frase digitada."); //imprime o resultado
	}
}

Edição feita por: MisterFoot, 16/06/2007, 00:56.

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
MisterFoot
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

#6 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 17/09/2017, 22:51

Where To Buy Cialis Or Viagra viagra cialis Fausse Couche Cytotec Et Consequences
How Much Is Viagra With A Prescription No Script Canadian Pharmacy Viagra Pfizer 100 Mg Beipackzettel
Levitra 10mg Forum <a href=http://cialtobuy.com>viagra cialis</a> Viagra Postlagernd Bestellen
Amoxicillin Online Paypal generic cialis Claritin
Cialis Generika Per Vorkasse Cialis 20mg 4 Film Propecia Op Recept
Cialis Prices Online <a href=http://cialtobuy.com>buy cialis</a> High On Amoxicillin
Levitra Cuanto Cuesta cialis Order Neurontine Overnight
Levothyroxine Without Prescription Kamagra France Acheter
Canadian Pharm Direct <a href=http://cialtobuy.com>cialis</a> Achat Misoprostol France
Cialis Livraison Rapide Forum generic cialis Baclofen Acheter 25mg
Comprar Cialis 5 Mg Online 150 Mg Clomid 100mg
Viagra Prescription Online <a href=http://cialtobuy.com>online pharmacy</a> Au Priligy

#7 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 05/10/2017, 18:49

per month total amount payable. left an Ocean Finance review recommend us with an Whether youre looking to make some home improvements make a big purchase or even consolidate your existing debts Ocean could help you find a cheap loan thats affordable for you. money loans You will be asked for this number when you.
Puedo Tomar Viagra Con 18 Anos realcheaplevitra Propecia 1 Miligramo Amoxicillin And Death In Cats
Acheter Priligy Dapoxetine En Ligne En Toute Securite Belize Pharmacy Vicodin Cialis Y Viagra Generico viagra Baclofene Ethypharm Make Me Durer Plus Longtemps Levitra Orosolubile Bayer Prezzo
Propecia Secundarios Levitra Bustine Indomethacin For Sale In Mexico viagra Progesterone Internet Usa Shipped Ups Effets Secondaires Cialis Prostate Medicament Cialise

#8 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 10/10/2017, 17:16

Viagra Para Distrofia Muscular buy viagra online Caverta (Original) Pruflox Order Generic Accutane

#9 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 02/11/2017, 17:33

Keflex Pipe Expansion Loops Canadian Pharmacy Lilly C20 cheap 80 mg vardenafil hcl Cialis No Me Hace Efecto Viagra Online Bestellen Apotheke Prix Levitra 10mg Pour

#10 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 25/11/2017, 03:47

Where To Buy Amoxicilina Cod Accepted Milan Viagra Non Fa Male Knee Infection Keflex generic cialis Le Viagra Ordonnance

#11 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 09/12/2017, 08:34

Levitra 40 Mg Generic levitra plus Viagra Deutschland Apotheke
Cialis Strips Keflex And Utis viagra Amoxicillin 1000mg Bid Propecia For Hair Loss
Viagra Soft Tabs Review levitra generic Buy Viagara Overnight Shipping Does Amoxicillin Clear Up Acne Peter Lenz Viagra
Cherche Clomid Venta De Cialis En Andorra online pharmacy Amoxicillin For Bladder Infection




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq