Форум программистов, компьютерный форум CyberForum.ru

Лексический анализатор (вывод в файл) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию для ввода и вывода массива http://www.cyberforum.ru/cpp-beginners/thread1304492.html
Дан двумерный динамический массив. Помогите сделать функцию для ввода и вывода массива #include <iostream> #include <iomanip> using namespace std; int main() {
C++ Имена формальных и фактических параметров должны отличаться? Здравствуйте. В институте преподаватель сказала, что "Имена фактических и формальных параметров не должны совпадать", причем обязательно так делать во всех лабораторных. Я не могу понять, какой в этом смысл? На вопросы она начала злиться и ничего не ответила. Насколько я понимаю, в си/с++ в этом нет смысла и можно называть параметры одинаково? А она просто перепутала с каким-то другим языком. http://www.cyberforum.ru/cpp-beginners/thread1304488.html
C++ Создать и заполнить динамический массив
Начинающий. Добрый день. Помогите как написать код для создания динамического массива N*N (Квадрат). Ввожу разрядность массива 10. Создается массив 10*10. И, главное, надо заполнить массив (0 ,1 ) Ошибки есть...помогите #include <iostream> #include <stdio.h> #include <ctime> using namespace std; int main()
C++ Задать последовательность из рандомных цифр, и найти минимальный элемент, но без массива
добрый вечер! Как можно задать последовательность из рандомных цифр, и найти минимальный элемент, но без массива? помогите пожалуйста.
C++ Сортировка строк в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread1304468.html
Собственно нужно чтобы одновременно с сортировкой массива "а" аналогично менялись строки матрицы "х", чего добиться не могу. Функция меняет местами только первые элементы строк матрицы, а не сами строки. int func(int **x,int m,int n) { int i,j,k,a; cout<<"введите число:"; cin>>k; for(i=0;i<m;i++) {
C++ Заменить элементы главной диагонали матрицы суммами элементов столбцов Помогите пожалуйста. Заменить элементы главной диагонали матрицы целых чисел размерностью 5х5 суммами элементов столбцов. Я сделал вот так, поправьте пожалуйста. const n=5; void __fastcall TForm1::Button1Click(TObject *Sender) {int a;int i,j,S; a=StrToInt(StringGrid1->Cells; for(i=0;i<n;i++) for(j=0;j<n;j++) S=0; подробнее

Показать сообщение отдельно
ilia53v
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 2
18.11.2014, 22:13     Лексический анализатор (вывод в файл)
Здравствуйте, у меня написан лексический анализатор, но вывод в файл 2 происходит посимвольно (т.е по одному символу в каждой строке),как сделать так,чтобы лексемы выводились целиком? Всем тем, кто поможет огромное спасибо!

#include "stdafx.h"
#include <cstdio>
#include "conio.h"
#include <cctype>
#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;

int main()
{
int i;
FILE *f1,*f2;
f1=fopen("C:/1.txt","r");
f2=fopen("C:/2.txt","w");
int ch[25];

for(i=0;i<25;i++)
{
while ((ch[i]=getc(f1)) !=EOF)
{
if(isalpha(ch[i]))
fprintf(f2,"%c %d \n",ch[i],2);
else
{if(isdigit(ch[i]))
fprintf(f2,"%c %d \n",ch[i],1);
else
{if(ch[i]==':')
fprintf(f2,"%c %d \n",ch[i],5);
else
{if(ch[i]=='-'||'+'||'*'||'/')
fprintf(f2,"%c %d \n",ch[i],9);
else
{if(ch[i]==';')
fprintf(f2,"%c %d \n",ch[i],5);
else
{ if(ch[i]=='-')
fprintf(f2,"%c %d \n",ch[i],5);
else
{ if (ch[i]==',')
fprintf(f2,"%c %d \n",ch[i],5);
else
{ if (ch[i]=='^')
fprintf(f2,"%c %d \n",ch[i],5);
else
{ if (ch[i]=='STEP')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='FOR')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='AND')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='OR')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='GOTO')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='TO')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='NOT')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='=')
fprintf(f2,"%c %d \n",ch[i],9);
else
{ if (ch[i]=='IF')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='THEN')
fprintf(f2,"%c %d \n",ch[i],4);
else
{ if (ch[i]=='LET')
fprintf(f2,"%c %d \n",ch[i],4);
/* else
if (ch[i]=='INPUT')
fprintf(f2,"%c %d \n",ch[i],4);*/
else
{ if (ch[i]=='NEXT')
fprintf(f2,"%c %d \n",ch[i],4);
/* else
if (ch[i]=='PRINT')
fprintf(f2,"%c %d \n",ch[i],4);*/
else
{ if (ch[i]=='<')
fprintf(f2,"%c %d \n",ch[i],9);
else
{ if (ch[i]=='< >')
fprintf(f2,"%c %d \n",ch[i],6);
else
{ if (ch[i]=='(')
fprintf(f2,"%c %d \n",ch[i],6);
else
{ if (ch[i]==')')
fprintf(f2,"%c %d \n",ch[i],6);
else
{ if (ch[i]=='\n')
fprintf(f2,"%c %d \n",ch[i],3);
else printf("недопустимый символ языка - %c \n",ch[i]);
}}}}}}}}}}}}}}}}}}}}}}}}}}
fclose(f1);
fclose(f2);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru