Mudanças entre as edições de "Exercícios AValiação II"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 34: Linha 34:
  
 
Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. A inconsistência é dada por uma linha negativa ou por numcar negativo (ou ambos).
 
Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. A inconsistência é dada por uma linha negativa ou por numcar negativo (ou ambos).
 +
 +
Solução
 +
 +
<syntaxhighlight lang=c>
 +
#include <stdio.h>
 +
 +
 +
void imp_linha(int num_car1, int num_car2, char car1, char car2, char car3)
 +
{
 +
  int i;
 +
 +
  for(i=0;i<num_car1;i++)
 +
printf("%c", car1);
 +
  for(i=0;i<num_car2;i++)
 +
printf("%c", car2);
 +
  printf("%c\n", car3);
 +
}
 +
 +
void plot_fig(int linhas, int numcar, char caracter1, char caracter2, char caracter3)
 +
{
 +
  int i;
 +
 +
  for(i=1;i<=linhas;i++)
 +
imp_linha(i, numcar, caracter2, caracter3, caracter1); 
 +
}
 +
 +
main()
 +
{
 +
  plot_fig(10,8,'X','Y','Z');
 +
}
 +
</syntaxhighlight>
  
 
QUESTÃO 2
 
QUESTÃO 2

Edição das 16h13min de 6 de outubro de 2014

QUESTÃO 1

Usando o comando for, implemente uma função da forma:

int plot_fig(int linhas, int numcar, char caracter1, char caracter2, char caracter3)

Se a função for chamada da forma:

plot_fig (8,9,'a','B','c');

ela deve produzir:

caaaaaaaaaB

ccaaaaaaaaaB

cccaaaaaaaaaB

ccccaaaaaaaaaB

cccccaaaaaaaaaB

ccccccaaaaaaaaaB

cccccccaaaaaaaaaB

ccccccccaaaaaaaaaB


Cada linha da figura deve ser gerada com uma função:

void printLinha(int numcar1, int numcar2, char caracter1, char caracter2, char caracter3)


Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. A inconsistência é dada por uma linha negativa ou por numcar negativo (ou ambos).

Solução

#include <stdio.h>


void imp_linha(int num_car1, int num_car2, char car1, char car2, char car3)
{
  int i;

  for(i=0;i<num_car1;i++)
	printf("%c", car1);
  for(i=0;i<num_car2;i++)
	printf("%c", car2);
  printf("%c\n", car3);
}

void plot_fig(int linhas, int numcar, char caracter1, char caracter2, char caracter3)
{
  int i;

  for(i=1;i<=linhas;i++)
	imp_linha(i, numcar, caracter2, caracter3, caracter1);  
}

main()
{
  plot_fig(10,8,'X','Y','Z');
}

QUESTÃO 2

Implementar duas funções que operam sobre vetores de inteiros da seguinte forma:

/* calcula a média do vetor passado como parâmetro e cujo tamanho é fornceido*/
 
float mediaVetor(int vetor[], int tamanho)
{
}
 
 
/* esta função deve usar a função acima. Ela deve comparar a média dos vetores 
passados como parâmetro e retornar 1,0 ou -1  se a média do primeiro for maior,
igual ou menor que o segundo vetor */
 
int comparaMediaVetores(int vetor1[], int vetor2[], int tamanho)
{
}
 
main()
{
/* mostrar um exemplo de funcionamento das funções acima */
/* declare dois vetores inicializados aqui */
 
 
}