Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- /*
- 1
- A = int
- B = char *s, char c
- C = n = s;
- D = *n != '\0'
- E = *n == c
- F = count;
- */
- //2
- void InverterString(char *s)
- {
- char c;
- int len = strlen(s);
- for(int i=0; i<len/2; i++)
- {
- c = s[len-i-1];
- s[len-i-1] = s[i];
- s[i] = c;
- }
- }
- //3
- //a
- /*
- n = 4 | chave = 0 | t = {3,-2,0,4}
- i=0
- t[i] | i | n-1
- 3 | 0 | 3
- i++
- -2 | 1 | 3
- i++
- 0 < sai do ciclo, i fica igual
- return i = 2 (0++ = 1 | 1++ = 2)
- printf > posicao=3
- */
- int analise(int n, int chave, int *t)
- {
- int i=0;
- while(t[i] != chave && i <= n-1)
- i++;
- if(i>n-1)
- return-1;
- else return i;
- }
- //b
- /*
- a função irá pesquisar a posição da chave no array, caso nao exista irá retornar -1.
- por exemplo se para o mesmo array do a a chave fosse 3 iria retornar 0, que é o indice do 3 no array.
- se a chave fosse por exemplo 5 iria retornar -1, porque nao existe no array.
- */
- //4
- //a
- void mostrarfich(char *nomefich)
- {
- FILE *F = fopen(nomefich,"r");
- if(!F)
- return;
- char buffer[20];
- while(!feof(F))
- {
- fgets(buffer,20,F);
- printf("%s",buffer);
- }
- }
- //b
- void vencedor(int *atleta_vencedor, float *resultado, char *nficheiro)
- {
- FILE *F = fopen(nficheiro,"r");
- if(!F)
- return;
- int at;
- float val;
- *resultado=-1;
- while(!feof(F))
- {
- fscanf(F,"%d%f",&at,&val);
- if(val>*resultado)
- {
- *resultado=val;
- *atleta_vencedor=at;
- }
- }
- }
- //c
- float MediaLancamentos(char *nficheiro)
- {
- FILE *F = fopen(nficheiro,"r");
- if(!F)
- return -1;
- int cont=0;
- float med;
- while(!feof(F))
- {
- fscanf(F,"%*d%f",&med);
- cont++;
- }
- return med/cont;
- }
- //5
- float sum(int N, int i, int fact=1, int elev=1)
- {
- fact*=i;
- elev*=3;
- if(i == N)
- return (float)fact/(float)elev;
- return (float)fact/(float)elev + sum(N,++i,fact,elev);
- }
- //6
- int PesquisaRecursivo(int *vector, int inf, int sup, int X)
- {
- if(*vector == sup && *vector != X)
- return -1;
- if(*vector == X)
- return 0;
- int v = PesquisaRecursivo(++vector,inf,sup,X);
- if(v == -1)
- return -1;
- return v+1;
- }
- void main()
- {
- //2
- char *s = (char *)malloc(sizeof(char) * 5);
- strcpy(s,"Test");
- printf("[%s]\n", s);
- InverterString(s);
- printf("[%s]\n", s);
- //3
- int a[] = {3,-2,0,4};
- printf("posicao=%d",analise(4,0,a)+1);
- //4
- printf("\n");
- mostrarfich("teste.txt");
- printf("\n");
- int v;
- float res;
- vencedor(&v,&res,"teste.txt");
- printf("%d %f\n", v, res);
- //6
- int b[] = {2,4,6,8,10};
- printf("\n");
- printf("%d",PesquisaRecursivo(b,2,10,2));
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment