| Вообще, задача звучит так:
Строка содержит арифметическое выражение, состоящее из целых чисел и знаков операций: -,+*,/.
Проверить корректность выражения (в смысле последовательности чисел и знаков операций)
Когда я запускаю задачу, то почему-то введенные мной символы выводятся в виде псевдографики, не так как надо. К тому же Ввод почему-то "затягивается", т.е. на ввод запрашивается не 20 символов, как я просил, а больше. в чем бело, посмотрите пож-та!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main (void)
{
clrscr();
char A[20],z,s,sym[]={'+','-','*','/'}, i,j, a='0';
int symb=0,cif=0;
printf ("Введите выражение \n");
do
{
z=getch();
for (i='0';i<='9';i++)
{
if (i==z)
cif=1; }
for (j=0;j<4;j++)
{
if (z==sym[j])
symb=1;
}
if (cif==1 || symb==1)
{ A[a]=z;
a++; } // если введенный символ есть цифра либо знак операции, то добавляем его в массив.
}
}while(a<20||z!=13);
Нужно сделать так, чтобы текущий и предыдущий символы не являлись знаками операций. Помогите пож-та додумать. Я пробовал вывести просто этот массив, но он выодит мне какие-то "каракули" | |