array – Atividade Listas em C

Recebi a seguinte atividade no tópico de Listas em contiguidade fisica:

“Complete os atributos da estrutura lista_contatos no arquivo
lista_contatos.h. Crie um arquivo lista_contatos.c e
implemente as funções inicializar, inserir, print_lista e
destruir, sem modificar a interface (as funções definidas em
lista_contatos.h).

Após isso, modifique a função inserir para que, ao invés de falhar quando não
tiver espaço, proceda da seguinte forma:
● Alocar um vetor de itens com capacidade de 150% da atual;
● Atualizar a nova capacidade;
● Copiar os itens do vetor antigo para o novo vetor e usar o novo
a partir daí;
● Liberar o vetor antigo;
● Inserir o novo item normalmente.
Fique à vontade para adicionar novas funções se achar necessário,
porém, não mude os arquivos .h”

Minha duvida fica em o que eu devo utilizar para implementar essas funções solicitadas(como estamos aprendendo listas em contiguidade fisica, acredito que seja algo assim, mas não sei como), e de que maneira eu consigo fazer isso, visto que, eu não devo mudar a interface.

Vou colocar aqui todos os codigos que vieram da atividade:

//lista_contatos.h//
#ifndef LISTA_H
#define LISTA_H

#include "contato.h"

typedef struct lista_contatos {
//CompleteAqui//
} lista_contatos;

/** Inicializa uma lista vazia de contatos  */
void inicializar(lista_contatos *l, int capacidade);

/** Destroi a lista de contatos, liberando o espaço ocupado */
void destruir(lista_contatos *l);

/** Mostra na tela a lista de contatos */
void print_lista(lista_contatos* l);

/**
* Adiciona um elemento na lista de contatos. Retorna 1 se
* a insercao foi bem sucedida e 0 caso contrario
*/
int inserir(lista_contatos *l, contato novo);

#endif // LISTA_H

e

//contato.h//
#ifndef CONTATO_H
#define CONTATO_H

typedef struct contato {
char nome(140);
char telefone(20);
int ano, mes, dia;
} contato;

#endif // CONTATO_H

e finalmente o main:

#include <stdio.h>
#include <stdlib.h>

#include "contato.h"
#include "lista_contatos.h"

int main()
{
lista_contatos amigos;
inicializar(&amigos, 3);

contato a = {"neil tyson", "+1(699)193265", 1958,10,5};
contato b = {"serena williams", "+1(369)654963", 1981,9,26};
contato c = {"edson nascimento", "+55 (11) 35693696", 1940,10,23};
contato d = {"miguel sapateiro", "+49 (0151) 9876589", 1969,1,3};

inserir(&amigos, a);
inserir(&amigos, b);
inserir(&amigos, c);
inserir(&amigos, d);

print_lista(&amigos);

destruir(&amigos);

return 0;
}

ios – Indicador de atividade em SwiftUI

Uma nova view chamada ProgressView foi introduzida com o iOS 14 (Xcode 12) e pode ser utilizada para indicar progresso por tempo indeterminado se não é utilizada com valores para o atual estado e o total.

O valor padrão para estilo da ProgressView é CircularProgressViewStyle e corresponde a algo bem similar ao UIActivityIndicatorView do UIKit.

var body: some View {
    VStack {
        ProgressView()
           // caso queira mudar o estilo:
           // .progressViewStyle(CircularProgressViewStyle())
    }
}

Mais informações aqui.

python – atividade avaliativa – Stack Overflow em Português

Obrigado por contribuir com o Stack Overflow em Português!

  • Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.

Mas evite

  • Pedir esclarecimentos ou detalhes sobre outras respostas.
  • Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.

Para aprender mais, veja nossas dicas sobre como escrever boas respostas.

c++ – Atividade c vetores

Elabore um programa em linguagem C que cria um vetor de 10 números inteiros informados pelo usuário
e na sequência exiba o vetor criado em sua ordem inversa.

Desenvolva uma função em linguagem C que receba dois vetores como parâmetro e retorne o resultado
da soma entre esses dois vetores.

Implemente uma função em linguagem C que tem como entrada duas palavras e informa se estas
palavras são iguais e se alguma das palavras é igual a POO.

Implemente um programa em linguagem C que recebe 3 valores não inteiros do usuário e exiba o maior
deles, o menor deles e a média.

Preciso responder a uma atividade completando os espaçõs vazios nesse código. C++ [fechada]

#include <stdio.h>
#include <alloc.h>

typedef struct no {
    int elemento;                 /* campo da informação */
    struct no* prox;            /* campo do ponteiro para o próximo nó */
} tLista;                          /* tipo do nó */

//**** Criação da lista vazia
void criar(_______ *L){
___________________________________
___________________________________
}
//**** Verificar se a lista está vazia
int vazia(________ *L){
___________________________________
___________________________________
}
//**** Obter o tamanho da lista
int tamanho(________ *L){
   __________ *p = L;
   int n = 0;
___________________________________
___________________________________
___________________________________
___________________________________
}
   return n;
}
//**** Obter o valor do elemento de uma posição dada
int elemento(________ *L, int pos, int elem){
   /* O parâmetro elem irá receber o elemento encontrado */
   /* Retorna 0 se a posição for inválida. Caso contrário, retorna 1 */
   _________ *p = L;
   int n = 1;
   if (L == NULL) return 0; /* erro: lista vazia */
   while ((p != NULL) && (n < pos)) {
      p = p->_____;
      n++;
   }
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
}
//**** Obter a posição de elemento cujo valor é dado
int posicao(_________ *L, int valor){
   /* Retorna a posição do elemento ou 0 caso não seja encontrado */
   if (L != NULL) {
      _________ *p = L;
      int n = 1;
 ___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
      }
   }
   return 0;
}
//**** Inserir um dado elemento na lista
int inserir(__________ *L, int valor){
____________________________________
_______________________________________
_____________________________________
____________________________________
___________________________________
 }
//**** Remover um elemento de uma determinada posição
int remover(___________ *L, int pos, int elem){
_______________________________________
______________________________________
________________________________________
_______________________________________
_________________________________________
 }
//****Esvaziar lista
void esvaziar (_______ *L){
________________________________________
_______________________________________
_____________________________________________
__________________________________________
___________________________________________
}
//**** Construção da tela de opções
int tela1()
{   
    int opcao=0;

    printf ("nn          EDITOR DE LISTASnn");
    printf ("              1 – EXIBIR LISTAn");
    printf ("              2 – INSERIRn");
    printf ("              3 – REMOVERn");
    printf ("              4 – EXIBIR ELEMENTOn");
    printf ("              5 – EXIBIR POSIÇÃOn");
    printf ("              6 – ESVAZIARn");
    printf ("              0 – SAIRnn");
    printf ("              DIGITE SUA OPÇÃO:");
    scanf("%d",&opcao);
    return (opcao);
}
//**** Programa principal
main()
{
    int opcao=0;
    int i=0, status, pos;
    int valor;
    ___________ *lista;        //Declarando a variável que conterá a lista

    // Criando a lista
    ___________________________________
    ___________________________________
    opcao=tela1();
    while (opcao!=0){    
        switch (opcao){
        case 1: //1 – EXIBIR LISTA
               //Exibir o tamanho da lista e os seus elementos
               if (_____________________________________)
                   printf("A lista está vazia.");
               else{  
                   printf("A lista tem %d elemento(s) são ele(s):",___________________________);
                   for (i=1;i<=____________________________; i++){
                      status=____________________________________________________;
                      printf(" %d", valor);
                   }
               }
               break;
        case 2://2 – INSERIR
              //Ler o valor do elemento a ser inserido e a posição onde será efetuada a inserção
              //printf("Informe a posição do elemento a ser inserido:");
              //scanf("%s",&pos);
              printf("Informe valor do elemento a ser inserido:");
              scanf("%d",&valor);
              status=___________________________________________; //Inserindo elementos na lista
              if (status==0)
                 printf("Não foi possível inserir nesta posição.n");
              break;
       case 3: //3 – REMOVER
               //Ler a posição do elemento a ser removido
               printf("Informe a posição do elemento a ser removido:");
               scanf("%d",&pos);
               ______________________________________________;//Removendo elementos da lista
               if (status==0)
                   printf("Posição inválida. A lista tem somente:%d",tamanho(lista));
               else
                   printf("O elemento %d da posicao %d foi removido com sucesso. ", valor, pos);
               break;
       case 4://4 – EXIBIR ELEMENTO
              //Ler a posição do elemento
              printf("Informe a posição do elemento a ser exibido:");
              scanf("%d",&pos);
             _________________________________________________;
              if (status==0)
                  printf("Posição inexistente.");
              else
                  printf("O elemento da posição %d  é: %d",pos,valor);
              break;
       case 5://5 – EXIBIR POSIÇÃO
              //Ler o valor do elemento
              printf("Informe valor do elemento a ser buscado:");
              scanf("%d",&valor);
              ________________________________________________;
              if (status==0)
                  printf("O valor %d não foi encontrado na lista.", valor);
              else
                  printf("A posição do elemento %d é: %d",valor, pos);
              break;
       case 6: //6 – ESVAZIAR
              ___________________________________________________;
              break;
       default: printf ("Opção Inválida");  
              break;
       }
    opcao=tela1();
    }
}