*/
#include <stdio.h>
main()
{
int sel[10], i, j, k;
//função para indicar se um número é par
int eh_par(int n) {
if( (n%2) == 0 )
return 1;
else
return 0;
}
//função para imprimir os números selecionados
void imprime_sel() {
printf("Numeros selecionados:\n");
for (i = 0;i < 10; i++)
printf("%i\n",sel[i]);
}
//função para imprimir a soma solicitada
void imprime_soma_sel() {
int soma = 0;
printf("Soma dos numeros selecionados:\n");
for (i = 0; i<10;i++)
soma = soma + sel[i];
printf("%i\n",soma);
}
k = 0;
for(j=1;j<=100;j++) {
if (eh_par(j)==1){
sel[k] = j;
k++;
if (k==10)
break;
}
}
imprime_sel();
printf("\n");
imprime_soma_sel();
}
/* Questão 2/5
Usando a linguagem de programação C/C++ escreva um programa que contenha uma
função que retorna o seguinte:
A função recebe 3 valores float e retorna o quadrado do 1º mais a soma dos outros dois.
Observe que esta função deverá retornar um tipo float.
O seu programa deverá ter esta função, permitir a digitação dos números, e imprimir tanto
os números
digitados quanto o resultado da função.
*/
#include <stdio.h>
main()
{
//função que recebe 3 valores float e retorna o quadrado do 1º mais a soma dos
outros dois.
float formula(float n1, float n2, float n3) {
return (n1*n1)+n2+n3;
}
float v1,v2,v3;
printf("\nInforme o primeiro numero:");
scanf("%f",&v1);
printf("\nInforme o segundo numero:");
scanf("%f",&v2);
printf("\nInforme o terceiro numero:");
scanf("%f",&v3);
printf("\n\nOs numeros digitados foram: %.2f , %.2f , %.2f",v1,v2,v3);
printf("\nResultado da formula: %.2f", formula(v1,v2,v3));
}
/* Questão 3/5
Utilizando a linguagem de programação C/C++ o aluno deverá escrever um programa que
receba uma matriz 3X3 e imprima tanto a matriz digitada quanto a sua inversa em uma
janela de console.
*/
#include <stdio.h>
main() {
int i,j,k,l,m,n;
float det;
int m1[3][3], m2[3][3], aux[2][2];
printf("Informa a matriz 3x3:\n");
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
printf("linha %d - coluna %d : ",i+1,j+1);
scanf("%d",&m1[i][j]);
}
}
printf("\nMatriz informada: \n");
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
printf("%d ",m1[i][j]);
}
printf("\n");
}
//calcula a matriz inversa usando matriz adjunta
//Passo 1: calculo do determinante por Regra de Sarrus
det = (m1[0][0]*m1[1][1]*m1[2][2] + m1[0][1]*m1[1][2]*m1[2][0] + m1[0][2]*m1[1]
[0]*m1[2][1]);
det = det - (m1[0][2]*m1[1][1]*m1[2][0]+m1[0][0]*m1[1][2]*m1[2][1]+m1[0][1]*m1[1]
[0]*m1[2][2]);
if (det == 0) {
printf("\nO determinante desta matriz e zero, entao a matriz nao pode ser
invertida \n ");
}
else {
//Passo 2: matriz de cofatores
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
m=0;
for (k=0;k<3;k++) {
n=0;
for (l=0;l<3;l++) {
if ((k!=i)&&(l!=j)) {
aux[m][n] = m1[k][l];
n++;
}
}
if (k!=i)
m++;
}
m2[i][j] = ((aux[0][0]*aux[1][1]) - (aux[1][0]*aux[0][1]));
if ((i+1+j+1)%2!=0)
m2[i][j] = -1 * m2[i][j];
}
}
printf("\nMatriz Inversa: \n");
for (i=0;i<3;i++) {
for (j=0;j<3;j++) {
printf("%.2f ", (1/det) * m2[i][j]);
}
printf("\n");
}
}
}
/* Questão 4/5
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string
de até 50 caracteres,
um carctere específico e devolve o número de ocorrências deste caractere na string
digitada.
Não esqueça que o programa deverá imprimir a string, o carctere e o número de
ocorrências.
*/
#include <stdio.h>
main() {
char texto[50], c;
int i,ocor;
printf("Informe uma string de ate 50 caracteres:");
gets(texto);
printf("\nInforme o caracter para pesquisar:");
scanf("%c",&c);
ocor = 0;
for (i=0;i<50;i++){
if (texto[i] == c) {
ocor++;
}
}
printf("\nString digitada: %s", texto);
printf("\nCaracter digitado: %c", c);
printf("\nNumero de ocorrencias do caracter na string: %d",ocor);
}
/* Questão 5/5
Usando a linguagem de programação C/C++ escreva um programa que preenche um
vetor de inteiros
com 20 posições de números maiores ou iguais a 10 e menores que 100, e imprima o
maior número
armazenado neste vetor. Observe que, sempre que o usuário digitar um número fora do
intervalo
permitido o programa deverá solicitar outro número até que o vetor esteja preenchido.
Observe
também que o seu programa deverá imprimir, além do maior número armazenado, o vetor
contendo
os números digitados.
*/
#include <stdio.h>
main() {
int vetor[20], i, maior = 0;
for(i=0;i<20;i++) {
printf("\nInforme o valor da posicao %d do vetor:", i+1);
scanf("%d",&vetor[i]);
if ((vetor[i] < 10) || (vetor[i] >=100)) {
printf("\nValor Invalido para a posicao %d !\n", i+1);
i--;
}
else {
if (vetor[i]>maior) {
maior = vetor[i];
}
}
}
printf("\nVetor digitado:");
for(i=0;i<20;i++) {
printf("\nvetor[%d]:%d",i,vetor[i]);
}
printf("\n\nMaior valor digitado: %d",maior);
}