Visitantes


Contador
Contador
Tire suas dúvidas nos links abaixo!
Obs: A estrutura do blog não permite colocar a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente

domingo, 7 de novembro de 2010

Escreva uma função que seja capaz de retornar o maior valor dentre três valores reais fornecidos como parâmetros.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.

#include <>
#include <>

float maior(float x, float y, float z);// prototipo da função

int main(int argc, char *argv[])

{

float a,b,c,mostrar; // declaração de variaveis

printf("Digite os numeros\n");

scanf("%f%f%f",&a,&b,&c);

mostrar = maior(a,b,c);// chamada da função, o retorno da função é guardado na variavel mostrar.

printf(" O maior numero e %.2f\n",mostrar);

system("PAUSE");

return 0;

}

float maior(float x, float y, float z){ //função que compara os valores e retorna o maior valor

if(x > y && x > z)
return x;

if(y > x && y > z)
return y;

if (z > x && z > y)
return z;

}

Funções

Uma função é uma unidade de código de programa autônoma desenhada para cumprir uma tarefa particular.
Uma função recebe um certo numero de parâmetros e retorna apenas um valor, deve ficar sempre fora da função main. Assim como declaramos variáveis também declaramos funções, essa declaração é chamada de protótipo e deve ser colocada no inicio do programa antes da função main.

Criando uma função:

Tipo nome (parâmetros)

{

Comandos;

}

Exemplo de uma Função para somar 2 numeros:

Int soma(int num1, int num2)

{
int Total;

Total = num1+num2;

Return Total;

}

Uma função que retorna valor geralmente é chamada fazendo uma atribuição do nome da função a uma variável.

Exemplo:

Resultado = soma(num1,num2);

Cada função deve ter um tipo e retornar um valor, entretanto tem um tipo de função que quebra essa regra, é a função void, essa função nunca retorna valor.

Exemplo de uma função void usada para mostrar o resultado da soma de 2 numeros:

Void Soma(int num1,int num2)

{
int Total;

Total= num1+num2;

printf(“O resultado da some dos números e %d ”,Total);

}

Uma função void é chamada pelo nome e seus parâmetros.

Exemplo:

Soma (num1,num2);

Strings

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.

Strings são vetores de char. As strings são de uso mais comum para os vetores. Devemos apenas ficar atentos para o fato de que as strings têm o seu último elemento como um '\0'. A declaração geral para uma string é:
char nome_da_string [tamanho];
Veremos agora algumas funções básicas para manipulação de strings.

Gets

A função gets() lê uma string do teclado inclusive os espaços. Sua forma geral é:
gets (nome_da_string);
O programa abaixo demonstra o funcionamento da função gets():

#include <>
#include <>

int main ()
{
char string[100];
printf ("Digite o seu nome: ");
gets (string);
printf ("\n\n Ola %s",string);
system("pause");
return(0);
}
Repare que é válido passar para a função printf() o nome da string. Você verá mais adiante porque isto é válido. Como o primeiro argumento da função printf() é uma string também é válido fazer:

printf (string);
isto simplesmente imprimirá a string.


strcpy

Sua forma geral é:
strcpy (string_destino,string_origem);
A função strcpy() copia a string-origem para a string- destino. Seu funcionamento é semelhante ao da rotina apresentada no exemplo anterior. As funções apresentadas nestas seções estão no arquivo cabeçalho string.h. A seguir apresentamos um exemplo de uso da função strcpy():

#include < >
#include < >
int main ()
{
char str1[100],str2[100],str3[100];
printf ("Entre com uma string: ");
gets (str1);
strcpy (str2,str1); /* Copia str1 em str2 */
strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */
printf ("\n\n%s%s",str3,str2);
system("pause");
return(0);
}

strcat

A função strcat() tem a seguinte forma geral:
strcat (string_destino,string_origem);
A string de origem permanecerá inalterada e será anexada ao fim da string de destino. Um exemplo:

#include <>
#include
int main ()
{
char str1[100],str2[100];
printf ("Entre com uma string: ");
gets (str1);
strcpy (str2,"Voce digitou a string ");
strcat (str2,str1); /* str2 armazenara' Voce digitou a string + o conteudo de str1 */
printf ("\n\n%s",str2);
system("pause");
return(0);
}


strlen

Sua forma geral é:
strlen (string);
A função strlen() retorna o comprimento da string fornecida. O terminador nulo não é contado. Isto quer dizer que, de fato, o comprimento do vetor da string deve ser um a mais que o inteiro retornado por strlen(). Um exemplo do seu uso:

#include < >
#include < >
int main ()
{
int size;
char str[100];
printf ("Entre com uma string: ");
gets (str);
size=strlen (str);
printf ("\n\nA string que voce digitou tem tamanho %d",size);
system("pause");
return(0);
}


strcmp

Sua forma geral é:
strcmp (string1,string2);
A função strcmp() compara a string 1 com a string 2. Se as duas forem idênticas a função retorna zero. Se elas forem diferentes a função retorna não-zero. Um exemplo da sua utilização:
#include < >
#include < >
int main ()
{
char str1[100],str2[100];
printf ("Entre com uma string: ");
gets (str1);
printf ("\n\nEntre com outra string: ");
gets (str2);
if (strcmp(str1,str2))
printf ("\n\nAs duas strings são diferentes.");
else printf ("\n\nAs duas strings são iguais.");
system("pause");
return(0);
}

sábado, 30 de outubro de 2010

Vetores ou matrizes unidimensionais.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.


Vetor nada mais é do que uma coleção de variáveis do mesmo tipo é referenciado por um nome comum, seus elementos são acessados por índices tendo como primeiro índice o numero 0.

Exemplo de declaração de vetor inteiro com 5 posições.

Tipo nome [ nº de elementos]

Int numero [5];

Exemplo de declaração de vetor inteiro inicializado com 5 elementos.

Int numero [5] = {10,45,12,78,19};

Como popular um vetor?

Para preencher um vetor é preciso ter um laço de repetição onde enquanto a uma determinada condição for atendida um comando de atribuição ou de entrada é executado e assim populando o vetor.

A estrutura mais comum para isso é a estrutura FOR, veja como seria popular um vetor de 5 posições.

Usaremos um contador que deverá ser iniciado do 0 até o numero maximo de posições do seu vetor no nosso caso 5.

For(contador=0;contador<5;contador++) contador="0;contador<5;contador++)">
#include

int main(int argc, char *argv[])
{
int cont;

// Declarção de vetores não inicializados.

int numero [5];

// Declaração de vetores inicializados.

int vetor [5] = {10,45,12,78,19};

/*Exemplo de como preencher um vetor.
Para popular um vetor é necessário percorrer todas as posições existentes nele, para utilizaremos
o laço de repetição for.
*/
printf("Digite os numeros do vetor:\n");

for(cont=0;cont<5;cont++) cont="0;cont<5;cont++)" cont="0;cont<5;cont++)">

Trocar o valor de duas variáveis.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.


Um exercício de lógica muito comum e que deixa muita gente de cabelo em pé é aquele em que temos de trocar os valores de duas variáveis.

Exemplo:

Temos x=125 e y=547 e depois da troca temos os seguintes valores x =547 e y =125.

Para resolver esse problema é muito simples basta declarar uma variável auxiliar que utilizaremos para fazer as trocas de valores.

Primeiro devemos atribuir a variável auxiliar o valor de x.
Depois atribuímos a variável x o valor de y.
E por fim atribuiremos a y o valor da variável auxiliar.

Veja o exemplo na linguagem c.

#include
#include

int main(int argc, char *argv[])

{
int x = 125, y = 547, aux; // Declaração de variaveis.

printf("O valor de x e %d o valor de y e %d.\n\n",x,y);
// Na linha acima são impressos na tela os valores de x e y antes da troca.

aux = x; // Aqui atribuiremos o valor de x para aux.

x = y; // Agora atribuiremos o valor de y para x.

y = aux; //Agora atribuiremos o valor de aux para y.

printf("O valor de x e %d o valor de y e %d.\n\n",x,y);
// Na linha acima são impressos na tela os valores de x e y depois da troca.

system("PAUSE");

return 0;

}

Ordenação bolha.

Obs: A estrutura do blog não permite colocar o a linha dos includes corretamente, ao passar o código para o compilador favor preencher essa linha corretamente.


Chamado de Demônio das trocas no livro “C completo e total” da editora MAKRON BOOKS LTDA, o método de ordenação bolha é o mais comum de todas as formas de ordenar, isso por ser fácil de implementar, porém é sem duvida a forma de ordenar mais criticada, já que trabalha fazendo varias comparações e quando necessário faz a troca de posições entre dois elementos adjacentes.

Agora que já sabemos um pouco sobre o método bolha vamos colocar em ordem crescente o seguinte vetor:

Vet [6] ={15, 18, 17, 10, 16, 12}

Para essa ordenação devemos sempre comparar dois elementos da esquerda para a direita e se preciso trocá-los de posição até que todos os números estejam em ordem crescente.

Veja agora na linguagem c como ficaria um algoritmo para ordenar esse vetor.

#include
#include

int main(int argc, char *argv[])
{
int aux, i, j; // declaração de uma variável auxiliar e dois contadores.

int vet[6]={15,18,17,10,16,12}; // Declaração do vetor já inicializado.

for(i=0; i<6; i++){ // As dois comandos for são úteis para percorrer o vetor e colocar os indices no vetor

for(j=0; j<6; j++){ // na hora de comparar, os dois devem contar até o numero de elementos do vetor

if(vet[i] < vet[j]) { // Esse if é responsável por comparar os elementos do vetor e troca-los de posição quando necessário.
aux=vet[i]; // Comando que atribui vet na posição i na variável aux.

vet[i]=vet[j]; // Aqui atribuímos vet na posição j no vet com indice i.

vet[j]=aux;} // Agora atribuímos o valor da variável aux em vet na posição j.
}
}

for(i=0;i<6;i++) // Aqui temos uma estrutura de repetição for que irá imprimir o vetor.

{

printf("%d ",vet[i]);
}

system("PAUSE");

return 0;

}

domingo, 2 de agosto de 2009