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;
}
Visitantes
Contador
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
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);
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);
}
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++)">
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;
}
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;
}
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
Assinar:
Postagens (Atom)