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

Помогите решить задачу на C++ - C++

Восстановить пароль Регистрация
 
blueFlame
 Аватар для blueFlame
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 8
16.10.2011, 18:34     Помогите решить задачу на C++ #1
В общем, суть задачи такова: у меня есть массив, допустим:
x|x| Hello | World
x|x| What|is |your| name
x|x|112233
Максимум элементов в строке массива - 100.
Нужно удалить только крайние пробелы (по 1 штуке - не более) исключая первые две ячейки в каждой строке. Я попытался набросать код, но постоянно вылезает ошибка:
C++
1
2
3
4
5
6
7
8
9
10
 // сокращение крайних пробелов
    int rsp, lsp=0;
    for (int t1=0; t1<i; t1++){
        for (int t2=3; t2<100; t2++){
            string Param=Oper[t1][t2];
                if (Param.substr(0,1)==" " && lsp==0){Oper[t1][t2]=Param.substr(1,Param.length()-1);lsp=1;}
                if (Param.substr(Param.length()-2,1)==" " && rsp==0){Oper[t1][t2]=Param.substr(Param.length()-1,1);rsp=1;}
        }
        lsp=0; rsp=0;
    }
Здесь: Oper - двухмерный массив, lsp и rsp - флаги со значениями 1 или 0 (проверка, убирал ли я в данной ячейке левый/правый пробел, чтобы не убрать ещё с десяток пробелов). Param-ом я просто сократил строки (заменил им значение Oper[t1][t2]).

Добавлено через 8 часов 5 минут
Всё, решение нашёл.
C++
1
2
3
4
5
6
7
8
9
10
 // сокращение крайних пробелов
    int lsp=0; int rsp=0;
    for (int t1=0; t1<i; t1++){
        for (int t2=3; t2<=Op[t1]; t2++){
            if (Oper[t1][t2][0]==' ' && lsp==0 && Oper[t1][t2][Oper[t1][t2].length()-1]!=' '){Oper[t1][t2]=Oper[t1][t2].substr(1,Oper[t1][t2].length());lsp=1;}
            if (Oper[t1][t2][Oper[t1][t2].length()-1]==' ' && rsp==0 && Oper[t1][t2][0]!=' '){Oper[t1][t2]=Oper[t1][t2].substr(0,Oper[t1][t2].length()-1);rsp=1;}
            if (Oper[t1][t2][0]==' ' && Oper[t1][t2][Oper[t1][t2].length()-1]==' ') Oper[t1][t2]=Oper[t1][t2].substr(1,Oper[t1][t2].length()-2);
        }
        lsp=0; rsp=0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2011, 18:34     Помогите решить задачу на C++
Посмотрите здесь:

помогите решить задачу C++
Помогите решить задачу на C++ C++
C++ помогите решить задачу
C++ помогите решить задачу в C++
помогите решить задачу! C++
C++ Помогите решить задачу.
Помогите решить задачу C++
помогите решить задачу C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru