program logica computationala
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; }