Ir ao conteúdo

Posts recomendados

Postado
 

me ajudem a resolver esse programa

 

 

criar um programa com funcoes para realizar operacoes sobre conjunto que contem letras minusculas do alfabeto.Os conjuntos serao representados por vectores.Essas funcoes devem realizar as seguintes operacoes: pertence,esta contido,adicao,subtracao,uniao,intersecao,diferenca,diferenca simetrica e disjuncao.A entrada consiste num conjunto finito de operacoes a serem realizadas sobre dois conjuntos,nomeados o conjunto A e o conjunto B ,para cada entrada de dados temos um codigo de operacao.O programa termina a execucao quando o utilizador entrar com o codigo -1.Os conjuntos devem estar vazios e cada linha de entrada descreve uma operacao a ser realizada sobre um ou sobre os dois conjuntos. as operacoes :

as operacoes sao:

1C:mostra o conteudo do vector C

2C:ordena os elementos de C em ordem decrescente  

2C:ordena os elementos de C em ordem crescente 

4C n:x1,x2,...,x3:carrega no vector C com n elementos

5C x:verifica se o elemento x pertence ao conjunto C

6 C1 C2;verifica se o conjunto C1 esta contido no C2

7 C x:inclui o elemento x no conjunto C

8 C x:remove o elemento x do conjunto C

9 C1 C2:calcula a uniao do conjunto C1 pelo conjunto C2

10 C1 C2:calcula a intersecao do conjunto C1 pelo conjunto C2

11 C1 C2:calcula a diferenca do conjunto C1 para o conjunto C2

12 C1 C2:calcula a diferenca simetrica entre os conjuntos C1 E C2

13 C1 C2 :verifica se os conjuntos sao disjuntos 

-1  : Encerra a execucao do programa 

 

onde 

C e um dos conjuntos A ou B

C1 e C2 sao distintos A e B em qualquer ordem

x e um elemento

#include<stdio.h>
#include<stdlib.h>
#define MAX 6
int pertence(char  conj[],int nElem,char  letra);
int contido(char conj1[],char conj2[],int nElem1,int nElem2);
int disjuncao(char conj1[],char conj2[],int nElem1,int nElem2);
int adicao(int conj[],int nElem,int numero);
int subtracao(int conj[],int nElem,int numero);
int uniao(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int intersecao(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int diferenca(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int difSimetrica(char destRes[],char conj1[],char conj2[],int tam1,int nElem2);
int lerNumero();
int lerNum();
int pertence(char conj[],int nElem,char letra)
{
   int i;
   for(i=0;i<nElem;i++)
   {
         conj;
   }
   if(letra==conj)
   return 1;
   else
   return 0;    
}
int contido(char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(j=0;j<nElem2;j++)
    {
        conj2[j];
    }
    if(conj1==conj2[j])
    {
        return 1;
    }
    else
        return 0;
}
int disjuncao(char conj1[],char conj2[],int nElem1,int nElem2)
{
    
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(j=0;j<nElem2;j++)
    {
        conj2[j];
    }
    if(conj1==conj2[j])
    {
        return 1;
    }
    else
        return 0;
}
int adicao(char conj[],int nElem,char letra)
{
    int i;
    for(i=0;i<nElem;i++)
    {
         conj;
    }
    if(letra==conj)
    {
        conj=conj[i+0];
    }
    else
    {
        conj=conj[i+letra];
    }
    return conj;
}
int subtracao(char conj[],int nElem,char letra)
{
    int i;
    for(i=0;i<nElem;i++)
    {
         conj;
    }
    if(letra==conj)
    {
        conj=conj[i+0];
    }
    else
    {
        conj=conj[i-letra];
    }
    return conj;
}
int uniao(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int intersecao(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int diferenca(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int difSimetrica(char destRes[],char conj1[],char conj2[],int tam1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int lerNumero()
{
    int numero;
    printf("\nEntre com um numero positivo");
    scanf("%d",&numero);
    return numero;
}
int lerNum()
{
    int n,m,o;
    int a(int x,int y ,int z),b;
    printf("entre com os dados\n");
    scanf("%d",&n);
    if(n==-1)
    {
        printf("erro\n");
    }
    else
    {
        printf("entre com os dados\n");
        scanf("%d",&m);
        printf("entre com os dados\n");
        scanf("%d",&o);
    }

    return b;
}
int main()
{
    int n,m;
    n=lerNumero();
    while(n>0)
    {
      m=lerNum();
      printf("o resultado%d\n",m);    
    }    
}

<>

  • Curtir 1
Postado

@Josafat domingos    a primeira coisa a fazer é criar os vetores A e B e as outras variáveis , e colocar um menu com as opções e depois fazer a opção 4 do enunciado , que é carregar os elementos nos vetores A e B e em seguida alguma das outras opções .

  • Curtir 1
Postado

@devair1010 podes exemplificar  pra eu poder ver o programa 

Em 09/07/2019 às 20:42, Josafat domingos disse:

criar um programa com funcoes para realizar operacoes sobre conjunto que contem letras minusculas do alfabeto.Os conjuntos serao representados por vectores.Essas funcoes devem realizar as seguintes operacoes: pertence,esta contido,adicao,subtracao,uniao,intersecao,diferenca,diferenca simetrica e disjuncao.A entrada consiste num conjunto finito de operacoes a serem realizadas sobre dois conjuntos,nomeados o conjunto A e o conjunto B ,para cada entrada de dados temos um codigo de operacao.O programa termina a execucao quando o utilizador entrar com o codigo -1.Os conjuntos devem estar vazios e cada linha de entrada descreve uma operacao a ser realizada sobre um ou sobre os dois conjuntos. as operacoes :

as operacoes sao:

1C:mostra o conteudo do vector C

2C:ordena os elementos de C em ordem decrescente  

2C:ordena os elementos de C em ordem crescente 

4C n:x1,x2,...,x3:carrega no vector C com n elementos

5C x:verifica se o elemento x pertence ao conjunto C

6 C1 C2;verifica se o conjunto C1 esta contido no C2

7 C x:inclui o elemento x no conjunto C

8 C x:remove o elemento x do conjunto C

9 C1 C2:calcula a uniao do conjunto C1 pelo conjunto C2

10 C1 C2:calcula a intersecao do conjunto C1 pelo conjunto C2

11 C1 C2:calcula a diferenca do conjunto C1 para o conjunto C2

12 C1 C2:calcula a diferenca simetrica entre os conjuntos C1 E C2

13 C1 C2 :verifica se os conjuntos sao disjuntos 

-1  : Encerra a execucao do programa 

 

onde 

C e um dos conjuntos A ou B

C1 e C2 sao distintos A e B em qualquer ordem

x e um elemento

 

#include<stdio.h>
#include<stdlib.h>
#define MAX 6
int pertence(char  conj[],int nElem,char  letra);
int contido(char conj1[],char conj2[],int nElem1,int nElem2);
int disjuncao(char conj1[],char conj2[],int nElem1,int nElem2);
int adicao(int conj[],int nElem,int numero);
int subtracao(int conj[],int nElem,int numero);
int uniao(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int intersecao(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int diferenca(int destRes[],int conj1[],int conj2[],int nElem1,int nElem2);
int difSimetrica(char destRes[],char conj1[],char conj2[],int tam1,int nElem2);
int lerNumero();
int lerNum();
int pertence(char conj[],int nElem,char letra)
{
   int i;
   for(i=0;i<nElem;i++)
   {
         conj;
   }
   if(letra==conj)
   return 1;
   else
   return 0;    
}
int contido(char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(j=0;j<nElem2;j++)
    {
        conj2[j];
    }
    if(conj1==conj2[j])
    {
        return 1;
    }
    else
        return 0;
}
int disjuncao(char conj1[],char conj2[],int nElem1,int nElem2)
{
    
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(j=0;j<nElem2;j++)
    {
        conj2[j];
    }
    if(conj1==conj2[j])
    {
        return 1;
    }
    else
        return 0;
}
int adicao(char conj[],int nElem,char letra)
{
    int i;
    for(i=0;i<nElem;i++)
    {
         conj;
    }
    if(letra==conj)
    {
        conj=conj[i+0];
    }
    else
    {
        conj=conj[i+letra];
    }
    return conj;
}
int subtracao(char conj[],int nElem,char letra)
{
    int i;
    for(i=0;i<nElem;i++)
    {
         conj;
    }
    if(letra==conj)
    {
        conj=conj[i+0];
    }
    else
    {
        conj=conj[i-letra];
    }
    return conj;
}
int uniao(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int intersecao(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int diferenca(char destRes[],char conj1[],char conj2[],int nElem1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int difSimetrica(char destRes[],char conj1[],char conj2[],int tam1,int nElem2)
{
    int i,j;
    for(i=0;i<nElem1;i++)
    {
        conj1;
    }
    for(i=0;i<nElem1;i++)
    {
        conj2;    
    }
}
int lerNumero()
{
    int numero;
    printf("\nEntre com um numero positivo");
    scanf("%d",&numero);
    return numero;
}
int lerNum()
{
    int n,m,o;
    int a(int x,int y ,int z),b;
    printf("entre com os dados\n");
    scanf("%d",&n);
    if(n==-1)
    {
        printf("erro\n");
    }
    else
    {
        printf("entre com os dados\n");
        scanf("%d",&m);
        printf("entre com os dados\n");
        scanf("%d",&o);
    }

    return b;
}
int main()
{
    int n,m;
    n=lerNumero();
    while(n>0)
    {
      m=lerNum();
      printf("o resultado%d\n",m);    
    }    
}

<>

 

  • Curtir 1
Postado

@Josafat domingos      seu programa poderia começar assim  :

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 6
#include <windows.h>
/*             0     1    2     3   4      5      6      7         8  */
typedef enum{black,blue,green,cyan,red,magenta,brown,lightgray,darkgray,   /* nome das cores */
lightblue,lightgreen,lightcyan,lightred,lightmagenta,yellow,white} colors;
/*  9         10         11        12        13         14    15 */

static int __BACKGROUND = 1/*BLACK*/;/*pode ser o numero ou o nome da cor*/
static int __FOREGROUND = lightgray;

void textcolor_2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letras;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letras + (__BACKGROUND << 4));
}
void gotoxy_2(int x, int y){/*imprimir na linha e coluna desejada */
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int j;/* variável global inicializada com valor zero */
int pertence    (char conj   [],int  nElem  ,char letra                        );
int contido     (char conj1  [],char conj2[],int  nElem1,int nElem2            );
int disjuncao   (char conj1  [],char conj2[],int  nElem1,int nElem2            );
int adicao      (char conj   [],int  nElem  ,char letra                        );
int subtracao   (char conj   [],int  nElem  ,char letra                        );
int uniao       (char destRes[],char conj1[],char conj2[],int nElem1,int nElem2);
int intersecao  (char destRes[],char conj1[],char conj2[],int nElem1,int nElem2);
int diferenca   (char destRes[],char conj1[],char conj2[],int nElem1,int nElem2);
int difSimetrica(char destRes[],char conj1[],char conj2[],int tam1  ,int nElem2);
int lerNumero   ();/* essas funções podem ficar abaixo da main */
int lerNum      ();
void preenche_vetor(char vetor_A[],char vetor_B[]){
    printf("preenchendo o vetor A Com Letras Minusculas\n");
    for(j=0;j<10;j++){
        do{
            textcolor_2(14,0);
            printf("o %2d%c Elemento ",j+1,167);
            fflush(stdin);
            textcolor_2(11,0);
            scanf("%c",&vetor_A[j]);
            textcolor_2(12,14);
            if(vetor_A[j]<97 || vetor_A[j]>122)
                printf(" só Pode Letras Minusculas !\n ");
        }while(vetor_A[j]<97 || vetor_A[j]>122);
    }
    printf("\npreenchendo o vetor B Com Letras Minusculas\n");
    for(j=0;j<10;j++){
        do{
            textcolor_2(14,0);
            printf("o %2d%c Elemento ",j+1,167);
            fflush(stdin);
            textcolor_2(11,0);
            scanf("%c",&vetor_B[j]);
            textcolor_2(12,14);
            if(vetor_B[j]<97 || vetor_B[j]>122)
                printf(" só Pode Letras Minusculas ! \n");
        }while(vetor_B[j]<97 || vetor_B[j]>122);
    }
}
void mostrar_vetor(char vetor_A[],char vetor_B[]){
    textcolor_2(14,0);
    printf("mostrando o conteudo dos vetres\n A   e   B\n\n");
    textcolor_2(11,0);
    for(j=0;j<10;j++)
        printf(" %c  ---  %c\n",vetor_A[j],vetor_B[j]);
    textcolor_2(10,12);
    printf("\n\n   Tecle ! \n");
    getch();
}
int main(){
    char vetor_A[10],vetor_B[10];
    int op,n,m;
    do{
        textcolor_2(11,0);
        system("cls");
        printf("   ==============   Menu   ===============\n\n");
        textcolor_2(14,0);
        printf("  1 - mostra o conteudo do vector C\n");
        printf("  2 - ordena os elementos de C em ordem decrescente\n");
        printf("  2 - ordena os elementos de C em ordem crescente\n");
        printf("  4 - carrega no vector C com n elementos\n");
        printf("  5 - verifica se o elemento x pertence ao conjunto C\n");
        printf("  6 - verifica se o conjunto C1 esta contido no C2\n");
        printf("  7 - inclui o elemento x no conjunto C\n");
        printf("  8 - remove o elemento x do conjunto C\n");
        printf("  9 - calcula a uniao do conjunto C1 pelo conjunto C2\n");
        printf(" 10 - calcula a intersecao do conjunto C1 pelo conjunto C2\n");
        printf(" 11 - calcula a diferenca do conjunto C1 para o conjunto C2\n");
        printf(" 12 - calcula a diferenca simetrica entre os conjuntos C1 E C2\n");
        printf(" 13 - verifica se os conjuntos sao disjuntos\n");
        printf(" -1 - Encerra a execucao do programa\n");
        textcolor_2(11,0);
        for(j=1; j<14; j++){
            gotoxy_2(1,j+1);
            printf("%2d",j);
        }
        gotoxy_2(1,15);printf("-1");gotoxy_2(6,16);
        textcolor_2(15,12);
        printf("escolha uma opcao ");
        textcolor_2(11,0);
        scanf("%d",&op);
        printf("\a");/* faz hum beep */
        system("cls");
        switch(op){
        case 1:
            mostrar_vetor(vetor_A,vetor_B);
            break;
        case -1:
            printf("\n\n\n          Saindo . . . !\n\n\n");
            break;
        case 4:
            preenche_vetor(vetor_A,vetor_B);
            break;
        default:
            printf("opcao invalida !\n");
        }
    }while( op != -1 );
    textcolor_2(15,0);
    return 0;
}

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!