Mudanças entre as edições de "Abcdef"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(9 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 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. Veja esqueleto a seguir.
+
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.
  
  
Linha 17: Linha 17:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
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 1) 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 linha. No caso de não ser maior preencher com a primeira cooluna.
+
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 44: Linha 46:
  
 
/* Implementar aqui */
 
/* 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>
 
</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 */


}