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

Задача на строки(поправьте решение) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Производные классы Окружности: "Вписанный многоугольник" и "Описанный многоугольник" http://www.cyberforum.ru/cpp-beginners/thread1422.html
помогите. пожалуйста, создал на с++ класс окружность, координаты центра, радиус, признак отображения на экране.мне нужно сделать производные классы: "вписанный многоугольник"(количество сторон) и...
C++ Тип памяти переменной float Доброго время суток всем! помоги найти ответ на вопрос, что за тип памяти переменной и вообще какие они бывают в С++.За ранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread1416.html
C++ Напечатать все слова в алфавитном порядке
Пожалуйста, помогите решить вот эту задачку на C++. <--" Дана последовательность слов. Напечатать все слова в алфавитном порядке. "-->
Обозреватель C++
Народ, киньте кто-нить ссылку где есть исходники простого обозревателя в Internet написанного на С++ .
C++ Помогите создать полноэкранное приложение http://www.cyberforum.ru/cpp-beginners/thread1385.html
Помогите создать полноэкранное приложение под WinApi!
C++ Ужатие текстовых файлов Как можно жать текстовый файл так, чтобы не потерялся внешний вид текста. Дело вот в чем: мне надо записать в файл 40000000 строчек, а потом открыть этот файл в другой программе, но файл получается... подробнее

Показать сообщение отдельно
SN@KE
1 / 1 / 0
Регистрация: 03.03.2007
Сообщений: 11

Задача на строки(поправьте решение) - C++

03.03.2007, 23:02. Просмотров 3315. Ответов 9
Метки (Все метки)

Задание.
Преобразовать строку, содержащую выражение на Си с операциями (=,==,!=,a+=), в
строку, содержащую эти же операции с синтаксисом языка Паскаль (:=,=,#,a=a+).

Пробовал решать " в лоб ", но не прокатило.
Моя попытка решения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
void main(){
    int i,kod;
    char string[100];
 
    printf("Введите строку :\n");
    gets(string);
    for(i=0;i<strlen(string);i++){
        if(string[i]=='='){
            string[i]=':=';
        }
        else{
            if(string[i]=='=='){
                string[i]='=';
            }
            else{
                if(string[i]=='!='){
                    string[i]='#';
                }
                else{
                    if(string[i]=='a+='){
                        string[i]='a=a+';
                    }
                    else{
                        if(string[i]=='a-='){
                            string[i]='a=a-';
                        }
                    }
                }
            }
        }
    }
    puts(string);
    getch();
}
При замене меняется символ на символ, так что замена знака '=' на ':=' не пройдет т.к. заменится только на ':'(один символ меняется соответственно только на один символ). В связи с этим надо менять символ на строку. Еще не проходит фокус если присваиваю символьной переменной значение 'a=a+', т.к. больше двух символов char не хочет понимать=(( помогите с задачкой. Учюсь на первом курсе так что объясняйте хоть более менее понятно=)
P.S. Почему при написание сообщения текст выравнивается как я хочу, а при нажатии сохранить все выравнивается по левому краю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru