06 April 2014

Limbaje formale, asamblare si tehnici de compilare 2 Programe C Language

#include "string.h"
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#include "ctype.h"
#include "STDLIB.H"
#include "values.h"

int i,j,n;
char S,s[100];
struct productie
{ char st[10],dr[15];
} p[30];

void interval()
{
  int nr[100];
  FILE *f=fopen("numere.txt","r");
  char v[100][20],*pch;
  int  a,b,p,k;
  i=0;
  while(!feof(f))
  {
    fgets(s,50,f);
      printf("Sirul este: ");
  puts(s);
    pch=strtok(s," :;,.\n");
  while(pch!=NULL)
    {
    strcpy(v[i],pch);
    i++;
    pch=strtok(NULL," :;,.\n");
    }
  }
  int n=i-1;
  printf("\nNumerele sunt: \n");
  for(j=0;j  <  i;j++)
    puts(v[j]);
  cout <  < "\na= ";
  cin>>a;
  cout <  < "\nb= ";
  cin>>b;
  for(i=0;i  <  =n;i++)
    nr[i]=atoi(v[i]);
  printf("\nNumerele Sunt: \n");
  for(i=0;i < =n;i++)
    printf("%d ",nr[i]);
  cout <  < "\nIn Interval: \n";
  for(i=0;i < =n;i++)
    if(nr[i]>a && nr[i] < b)
      printf(" %d ",nr[i]);
  fclose(f);
}


void neterminale()
    {int nr=0,k;
     printf("\nNeterminale: ");
     for(i=1;i < =n;i++)
        {for(k=0;k < strlen(p[i].st);k++)
            if(isupper(p[i].st[k])&& !strchr(N,p[i].st[k]))
                {N[nr]=p[i].st[k];
                 nr++;}
         for(k=0;k < strlen(p[i].dr);k++)
             if(isupper(p[i].dr[k])&& !strchr(N,p[i].st[k]))
                {N[nr]=p[i].dr[k];
                 nr++;}
         }
     N[nr]='\0';
     for(i=0;i < =nr;i++)
            printf("%c ",N[i]);
     }

void terminale()
    { int nrt=0,k;
     printf("\nTerminale: ");
     for(i=1;i < =n;i++)
        {for(k=0;k < strlen(p[i].st);k++)
            if(p[i].st[k]!=lambda && !strchr(N,p[i].st[k]) && !strchr(T,p[i].st[k]))
                {T[nrt]=p[i].st[k];
                 nrt++;}
         for(k=0;k < strlen(p[i].dr);k++)
            if(p[i].dr[k]!=lambda && !strchr(N,p[i].dr[k]) && !strchr(T,p[i].dr[k]))
                {T[nrt]=p[i].dr[k];
                 nrt++;}
         }
     T[nrt]='\0';
     for(i=0;i < =nrt;i++)
            printf("%c ",T[i]);
     }



/*
void gramatica()
{
  int i,n,j;
  char neterm[10];
  char term[10];
  char start,s[100];
*/
FILE *f=fopen("lfatc.txt","r");
FILE *g=fopen("out0.txt","w");

void citire_simbol()
{  //Citire simbol de start , nr de proiectii
  S=fgetc(f);
  fscanf(f,"%d\n",&n);
  printf("\nSimbolul de start este: %c",S);
  printf("\nNr de productii este: %d\n",n);
  printf("Productiile sunt:\n ");
  for(i=1;i < =n;i++)
    {
    strset(s,'\0');
    fgets(s,99,f);
//    puts(s);
    int k=0;
    while(s[k]!='-')
      {
      p[i].st[k]=s[k];//st[k++]=s[i++]
      k++;
      }
    p[i].st[k]='\0';
    k+=2;
    int j=0;
    while(k < strlen(s))
      {
      p[i].dr[j]=s[k];
      k++;
      j++;
      }
    p[i].dr[j]='\0';
    }
    for(i=1;i < =n;i++)
      printf("\n%s-->%s",p[i].st,p[i].dr);
}

void nerealizabili()
{ char realiz[99];
  int modif,wr;
  strcpy(realiz,);
  do{
    modif=0;
    for(i=1;i < =n;i++)
      if(!strchr(realiz,p[i].st[0]))
      {
      wr=1;
      for (j=1;j < =n;j++)
    if(!strchr(realiz.p[i].st[0])
      {
      wr=0;
      break;
      }
      if(wr=1)
    {
    modif=1;
    realiz=realiz;
    }
  while(modif=0);
  Vn=realiz;
}


void main()
{ clrscr();
//  interval();
//  gramatica();
  citire_simbol();
getch();
}

CCSuite - CC Monitoring, CC Reports and AliveCheck

CC Monitoring, CC Reports and AliveCheck Create together a powerful application, user friendly, that helps managing, monitoring ...