Mudanças entre as edições de "Abcdef"
Linha 83: | Linha 83: | ||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
− | void printLinha( | + | void printLinha(int numcar1, int numcar2, char caracter1, char caracter2, char caracter3) |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. A inconsistência | Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. A inconsistência |
Edição atual tal como às 11h53min de 9 de maio de 2014
Questão 1
Implementar uma função que recebe uma string em um vetor de char como parâmetro e três parâmetros char a1,a2 e a3. A função deve retornar 1 se a string começa com a1, 5 se termina com a2 e 10 se contém a3 entre o primeiro e o último caracter. Caso as condições sejam satisfeitas em mais de um caso, então retorna a soma dos valores de retorno. Se nenhuma condição for satisfeita deve retornar 0. Veja esqueleto a seguir.
#include <stdio.h>
int VerificaString(char x[], char a1, char a2, char a3)
{
}
main()
{
/* fazer código de teste */
}
Exemplo: Se string "ABADEF" e a1='A',a2='F' e a3 = 'A' então o retorno deve ser 16.
Questão 2
Seja uma matriz 10x4, onde nas trÊs primeiras colunas (0, 1 e 2) estão armazenados números reais. A quarta coluna de uma linha deverá ser preenchida com a média das primeiras três colunas da linha MAS somente se esta média for maior que a média de todos os elementos da matriz excluindo a quarta coluna. No caso de não ser maior preencher com a primeira coluna.
Esqueleto:
#define LINHA 10
#define COLUNA 4
float Matriz[LINHA][COLUNA] = {
{5.8,9.7, 4.6},
{6.7,12.5, 7.6},
{3.8,20.7,8.5},
{6.7,12.5,9.4},
{5.8,12.4,5.8},
{6.7,18.5,10.7},
{15.8,39.7,9.2},
{6.7,12.5,8.7},
{55.8,9.7,67.9},
{66.8,40.9,54.4}
};
main()
{
/* Implementar aqui */
}
QUESTÃO 3
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).
QUESTÃO 4
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 */
}