Mudanças entre as edições de "Abcdef"
(7 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 19: | Linha 19: | ||
Exemplo: Se string "ABADEF" e a1='A',a2='F' e a3 = 'A' então o retorno deve ser 16. | Exemplo: Se string "ABADEF" e a1='A',a2='F' e a3 = 'A' então o retorno deve ser 16. | ||
+ | |||
Questão 2 | Questão 2 | ||
− | Seja uma matriz 10x4, onde nas trÊs primeiras colunas (0 e | + | 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: | Esqueleto: | ||
Linha 47: | Linha 48: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | QUESTÃO 3 | ||
Usando o comando for, implemente uma função da forma: | Usando o comando for, implemente uma função da forma: | ||
− | int | + | <syntaxhighlight lang=c> |
+ | int plot_fig(int linhas, int numcar, char caracter1, char caracter2, char caracter3) | ||
+ | </syntaxhighlight> | ||
Se a função for chamada da forma: | Se a função for chamada da forma: | ||
− | + | ||
+ | plot_fig (8,9,'a','B','c'); | ||
ela deve produzir: | ela deve produzir: | ||
− | + | caaaaaaaaaB | |
− | + | ||
− | + | ccaaaaaaaaaB | |
− | Se houver inconsistência nos parâmetros retornar um código de erro -1 senão retornar 0. | + | cccaaaaaaaaaB |
+ | |||
+ | ccccaaaaaaaaaB | ||
+ | |||
+ | cccccaaaaaaaaaB | ||
+ | |||
+ | ccccccaaaaaaaaaB | ||
+ | |||
+ | cccccccaaaaaaaaaB | ||
+ | |||
+ | ccccccccaaaaaaaaaB | ||
+ | |||
+ | |||
+ | Cada linha da figura deve ser gerada com uma função: | ||
+ | |||
+ | <syntaxhighlight lang=c> | ||
+ | void printLinha(int numcar1, int numcar2, char caracter1, char caracter2, char caracter3) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | 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: | ||
+ | |||
+ | <syntaxhighlight lang=c> | ||
+ | /* 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 */ | ||
+ | |||
+ | |||
+ | } | ||
+ | </syntaxhighlight> |
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 */
}