Desculpa se não expliquei bem. caso saibam o que é mintermo, entramos com os mintermos e achamos os maxtermos. ja resolvi ai pessoal valeu pela ajuda.
ViniGodoy
E qual é a resolução?
ddkclaudio
Ogeito foi converter para decimal a String informada, ver quais não estavam na lista e reconvertelos para String.
#include<stdio.h>#include<stdlib.h>#include<string.h>//variveisglobaisefuncoesintpoww(intbase,intexp);intbusca(intx,intn,int*v);char*string(intdecimal);intmaxtermos=0;intvariaveis=0;//------------------------------------------------------------------------------voidmain(intargc,char**argv){inti,j,k=0;variaveis=strlen(argv[1]);maxtermos=8-(argc-1);int*tmp=(int*)malloc(maxtermos*sizeof(int));char**maxtermo;maxtermo=(char**)malloc(maxtermos*sizeof(char*));for(i=0;i<maxtermos;i++)maxtermo[i]=malloc((variaveis)*sizeof(char));unsignedlonglonga=0;//Converteestringparadecimalfor(i=1;i<argc;i++){a=0;for(j=0;j<strlen(argv[i]);j++){a=a<<1;if(argv[i][j]=='1'){a|=1;}}/*printf("%llu", a );*/tmp[i-1]=(int)a;}printf("\n");//ordenaintindiceMenor=0;inttemp=0;for(i=0;i<argc-1;i++){indiceMenor=i;for(j=i+1;j<argc-1;j++)if(tmp[j]><tmp[indiceMenor])indiceMenor=j;temp=tmp[i];tmp[i]=tmp[indiceMenor];tmp[indiceMenor]=temp;printf("%d",tmp[i]);}intoi=0;intlu=0;//formaosmaxtermosintnaota=0;printf("\n");for(oi=0;oi<8;oi++){naota=busca(oi,(argc-1),tmp);if(naota==-1){printf("%d é um maxtermo.\n",oi);maxtermo[lu]=string(oi);printf("maxtermo[%d] : %s\n",k,maxtermo[lu]);k++;}}}char*string(intdecimal){intl,p=0;intddk=variaveis-1;char**maxtermotmp=(char**)malloc(1*sizeof(char*));maxtermotmp[0]=malloc((variaveis)*sizeof(char));for(p=0;p<variaveis;p++)maxtermotmp[0][p]='a';//colocandoaparasaberondedevereicolocarorestandecomzero.while(decimal!=0){if(decimal%2==0){maxtermotmp[0][ddk]='0';ddk--;}else{maxtermotmp[0][ddk]='1';ddk--;}decimal=decimal/2;}for(p=0;p<variaveis;p++)if(maxtermotmp[0][p]=='a')maxtermotmp[0][p]='0';returnmaxtermotmp[0];}intbusca(intx,intn,int*v){intm;m=n-1;while(m>=0&&v[m]!=x)m-=1;returnm;}intpoww(intbase,intexp){into=1;while(exp!=0){o=o*base;exp--;}returno;}
Valeu ai pessoal e desculpa a dor de cabeça ai valeu.
J
juliocbq
arranca isso aqui, você está usando c e apontadores para char. Só vai engordar o seu programa.
arranca isso aqui, você está usando c e apontadores para char. Só vai engordar o seu programa.