Mudanças entre as edições de "Abcdef"
(Criou página com 'Questão 1 Implementar uma função que recebe uma string em um vetor de char de como parâmetro e três parâmetros char a1,a2 e a3. A função deve computar se a string contid...') |
|||
(10 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
Questão 1 | Questão 1 | ||
− | Implementar uma função que recebe uma string em um vetor de char | + | 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. |
− | + | ||
+ | |||
+ | <syntaxhighlight lang=c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int VerificaString(char x[], char a1, char a2, char a3) | ||
+ | { | ||
+ | |||
+ | } | ||
+ | |||
+ | main() | ||
+ | { | ||
+ | /* fazer código de teste */ | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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: | ||
+ | <syntaxhighlight lang=c> | ||
+ | #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 */ | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | QUESTÃO 3 | ||
+ | |||
+ | Usando o comando for, implemente uma função da forma: | ||
+ | |||
+ | <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: | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <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 */
}