Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать функцию для ввода и вывода массива Дан двумерный динамический массив. Помогите сделать функцию для ввода и вывода массива #include <iostream> #include <iomanip> using namespace std; int main() { https://www.cyberforum.ru/ cpp-beginners/ thread1304492.html C++ Имена формальных и фактических параметров должны отличаться?
Здравствуйте. В институте преподаватель сказала, что "Имена фактических и формальных параметров не должны совпадать", причем обязательно так делать во всех лабораторных. Я не могу понять, какой в...
C++ Создать и заполнить динамический массив Начинающий. Добрый день. Помогите как написать код для создания динамического массива N*N (Квадрат). Ввожу разрядность массива 10. Создается массив 10*10. И, главное, надо заполнить массив (0 ,1 )... https://www.cyberforum.ru/ cpp-beginners/ thread1304484.html C++ Задать последовательность из рандомных цифр, и найти минимальный элемент, но без массива добрый вечер! Как можно задать последовательность из рандомных цифр, и найти минимальный элемент, но без массива? помогите пожалуйста. https://www.cyberforum.ru/ cpp-beginners/ thread1304472.html
C++ Сортировка строк в двумерном массиве
Собственно нужно чтобы одновременно с сортировкой массива "а" аналогично менялись строки матрицы "х", чего добиться не могу. Функция меняет местами только первые элементы строк матрицы, а не сами...
C++ Заменить элементы главной диагонали матрицы суммами элементов столбцов https://www.cyberforum.ru/ cpp-beginners/ thread1304455.html
Помогите пожалуйста. Заменить элементы главной диагонали матрицы целых чисел размерностью 5х5 суммами элементов столбцов. Я сделал вот так, поправьте пожалуйста. const n=5; void __fastcall...
C++ Составить две функции для обработки чисел в двоичном и десятичном представлении Составить две функции. Первая, встроенная, отличная от void (c единственным целым или логическим результатом, возвращаемым с помощью return), для одного целого десятичного числа • находит... https://www.cyberforum.ru/ cpp-beginners/ thread1304454.html Найти в строке слова, которые начинаются и оканчиваются одной и той же буквой C++
дана строка найти в ней те слова которые начинаются и оканчиваются одной и той же буквой. на С++, помогите люди добрые пожалуйста, лучше всего полный код с операторами попроще.
C++ Перекодировать текст с UTF-8 в ASCII Даже не знаю с чего начать Задача такова: Есть файл в формате UTF8. Нужно его перекодировать в ASCII и сохранить. https://www.cyberforum.ru/ cpp-beginners/ thread1304450.html C++ Сгенеровать и вывести массив из 10 чисел от -10 до 10 C++ - написать программу, которая генерирует и выводит массив из 10 чисел от -10 до 10, меняет местами первый и последний элементы и выводит новый массив. https://www.cyberforum.ru/ cpp-beginners/ thread1304422.html
C++ Дерево бинарного поиска: найти наибольшее из значений листьев
помогите пожалуйста, не могу найти минимум. В файле input.txt хранится последовательность целых чисел. Построить дерево бинарного поиска и найти для него наибольшее из значений листьев. //программа...
C++ Найти в матрице первый столбец, все элементы которого отрицательны Есть затруднения с заданием 1. Необходимо создать программу, которая выполняет действия из задания 1 и задания 2. По запросу с клавиатуры, программа выполняет следующие действия: 1) Ввести новый... https://www.cyberforum.ru/ cpp-beginners/ thread1304412.html
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 37
0

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

18.11.2014, 22:13. Показов 316. Ответов 0
Метки (Все метки)

Здравствуйте, у меня написан лексический анализатор, но вывод в файл 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);
}

Вернуться к обсуждению:
Лексический анализатор (вывод в файл) C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2014, 22:13
Готовые ответы и решения:

Лексический анализатор
Получил задание. Ранее с++ не изучал. Если найдутся добрые люди, которые могут помочь, отзовитесь,...

Лексический анализатор
Доброго времени суток. Сразу скажу, что я не прошу написать какую-либо программу, а лишь хочу...

Лексический анализатор
Написал программу, я надеюсь, лексического анализатора для конкретного куска программы. В программе...

лексический анализатор на С++
Написать лексический анализатор на С++: разделители: , . ; бинарные операции: + - * / унарные...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2014, 22:13
Помогаю со студенческими работами здесь

Лексический анализатор
Здравствуйте. написать программу, которая выполняет лексический анализ входного текста в...

Лексический анализатор текста
Разработать лексический анализатор, который реализует конечный автомат для поиска во входном потоке...

Лексический, синтаксический анализатор c++
Помогите пожалуйста, мне очень сложно понять как это делать( Разработать лексический и...

Лексический анализатор языка лисп
нужно написать лексический анализатор языка лисп

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru