program logica computationala

5
#include <stdio.h> #include <stdlib.h> #include <conio.h> /* !!!ATENTIE!!!! * * * TREBUIE SA SCRIETI SEMNELE VOASTRE * VA DECIDETI SI DUPA PUNETILE IN FUNCTIA CONECTOR() * TREBUIE IMPLEMENTATE SI() SAU() IMPLICA() ECHIVALENT() * TREBUIE SA VA SCRIETI FORMULA IN FUNCTIE() * MAI MODIFICATI SI VOI CATE CEVA SA NU FIE LA FEL */ /* * - sau * - si * - implica * - echivalent * - negare */ char *mesaj=(char *)malloc(sizeof(char)); //Input mesaj char *mesaj2=(char *)malloc(sizeof(char)); //mesaj plin cu variabile int functie(int,int,int); int conector(char); int este(char,int); int length(char *); int auxiliare(char); int frecventa(char); int si(int,int); int sau(int,int); int negare(int); int echivalent(int,int); int implica(int,int); int main()

Transcript of program logica computationala

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

/* !!!ATENTIE!!!! * * * TREBUIE SA SCRIETI SEMNELE VOASTRE * VA DECIDETI SI DUPA PUNETILE IN FUNCTIA CONECTOR() * TREBUIE IMPLEMENTATE SI() SAU() IMPLICA() ECHIVALENT() * TREBUIE SA VA SCRIETI FORMULA IN FUNCTIE() * MAI MODIFICATI SI VOI CATE CEVA SA NU FIE LA FEL */

/* * - sau * - si * - implica * - echivalent * - negare */

char *mesaj=(char *)malloc(sizeof(char)); //Input mesajchar *mesaj2=(char *)malloc(sizeof(char)); //mesaj plin cu variabile

int functie(int,int,int);int conector(char);int este(char,int);int length(char *);int auxiliare(char);int frecventa(char);

int si(int,int);int sau(int,int);int negare(int);int echivalent(int,int);int implica(int,int);

int main(){ int contor=0,len=0,conectori=0; printf("Introduceti:"); gets(mesaj); for(int i=0;i<length(mesaj);i++)

{ if(auxiliare(mesaj[i])==0) { contor++; } } printf("Are %d subformule!\n",contor); for(int i=0;i<length(mesaj);i++) { if(conector(mesaj[i])==0 && auxiliare(mesaj[i])==0) { mesaj2[len]=mesaj[i]; len++; break; } }

for(int i=0;i<length(mesaj);i++) { if(conector(mesaj[i])==0 && auxiliare(mesaj[i])==0) { if(este(mesaj[i],length(mesaj2))==1) { mesaj2[len]=mesaj[i]; len++; } } } printf("%d variabile\n",len);

for(int i=0;i<length(mesaj);i++) { if(conector(mesaj[i])==1) { conectori++; } } printf("%d conectori\n",conectori); printf("Aparitia unei variabile!\n"); for(int i=0;i<len;i++) { printf("%c apare de %d ori\n ",mesaj2[i],frecventa(mesaj2[i])); } printf("Tabel de adevar\n"); for(int A=0;A<=1;A++)

{ for(int C=0;C<=1;C++) { for(int B=0;B<=1;B++) { printf("Pentru A=%d B=%d C=%d valoare de adevar este %d\n",A,B,C,functie(A,B,C)); } } } getch(); return 0; }

int conector(char c){ //TREBUIE COMPLETATA CU SEMNELE VOASTRE if(c==' ' || c==' ' || c==' ' || c==' ' || c==' ') { return 1; } return 0; }

int functie(int a,int b,int c){ //TREBUIE PUSA FORMULA VOASTRA! }

int si(int a,int b){ }

int sau(int a,int b){ }int negare(int a){ }int echivalent(int a,int b){ }int implica(int a,int b){ }

int frecventa(char c){ int i=0,contor=0; for(i=0;i<length(mesaj);i++) { if(mesaj[i]==c) { contor++; } } return contor;}

int auxiliare(char c){ if(c==41 || c==40) { return 1; } return 0;}

int length(char *s){ int i=0; while(s[i]!='\0') { i++; } return i; }

int este(char c,int dim){ for(int i=0;i<dim;i++) { if(mesaj2[i]==c) { return 0; } } return 1; }