Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int *realoca(int *ptr, int *size) {
- int add;
- printf("Insira quantos números quer alocar:\n");
- scanf("%d", &add);
- ptr = (int *) realloc(ptr, (*size + add) * sizeof(int));
- if(ptr){
- for (int i = 0; i < add; i++) {
- printf("Insira os valores desejados:\n");
- scanf("%d", &ptr[*size+i]);
- }
- *size += add;
- } else {
- printf("Quantidade de memória não compatível\n");
- free(ptr);
- exit(1);
- };
- return ptr;
- }
- void exibir(int *ptr, int size) {
- printf("\n--------------\n");
- for (int i = 0; i < size; i++) {
- printf("%d\n", ptr[i]);
- }
- printf("--------------\n");
- }
- void media(int *ptr, int size) {
- float media = 0.0;
- printf("A média da soma do seguintes números: ");
- for (int i = 0; i < size; i++){
- if(i == size-1){
- printf("%d ", ptr[i]);
- }else{
- printf("%d, ", ptr[i]);
- }
- media += ptr[i];
- }
- printf("é %.1f\n", media);
- }
- int menu() {
- int opcao;
- printf("Insira uma das opções:\n");
- printf("0 - Sair\n");
- printf("1 - Inserir\n");
- printf("2 - Listar\n");
- printf("3 - Listar Média\n");
- printf("Opção: ");
- scanf("%d", &opcao);
- return opcao;
- }
- int main(void) {
- int *ptr = NULL, size = 0, opcao=4;
- while(opcao != 0) {
- switch(menu()){
- case 0:
- opcao=0;
- break;
- case 1:
- ptr = realoca(ptr, &size);
- break;
- case 2:
- exibir(ptr, size);
- break;
- case 3:
- media(ptr,size);
- break;
- default:
- printf("Opção inválida!\n");
- }
- }
- free(ptr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement