Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2010, 16:47   #1
RenSit
 
Регистрация: 04.04.2010
Сообщений: 3
По умолчанию (Решено)C++. Работа со строками.

Здравствуйте. Пытаюсь написать простенькую программу на С++, условие следующее: С клавиатуры вводится строка, содержащая слова, разделённые "_" (символом подчёркивания), затем вводится маска, для выбора нужных слов из строки, маска содержит символ "*", который обозначает любое количество букв. Ну и выводятся слова, подходящие под этот шаблон.
Как я себе это представляю: вводится строка, слова забиваются в массив строк (слово, в данном случае, любые символы до "_"), ну и затем в цикле выбираются слова, подходящие под введёный шаблон... Застрял на 2ом этапе - загнать слова в массив...

Цитата:
#include "iostream"
#include "string"
#include "windows.h"

using namespace std;

void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char s[255]; //исходная строка
char w[25]; //слово
char mas[10][25];//массив слов
puts("\n введите строку");
gets(s);
int i=0;
int j=0;
int k=0;
int len=strlen(s);
for (i=0; i<len; i++)
{
if (s[i]!="_")
{
w[j]=s[i];
j++;
}
else
{
w[j]="\0";
j=0;
strcpy(mas[k], w);
k++;
}
}

cin >> s;
}
выдаёт ошибки
Цитата:
error C2446: !=: нет преобразования 'const char *' в 'int' d:\progs\lab6\lab6\lab6.cpp 22 lab6
error C2040: !=: "int" отличается по уровням косвенного обращения от "const char [2]" d:\progs\lab6\lab6\lab6.cpp 22 lab6
error C2440: =: невозможно преобразовать 'const char [2]' в 'char' d:\progs\lab6\lab6\lab6.cpp 29 lab6
Долго ломал голову, в чём проблема, пробовал через указатели - тщетно.
Хотя и чувствую, что проблема то пустяковая, но не могу решить и всё Прошу подсказать, в каком направлении копать...
Ругается на выделенные строки.
Заранее, спасибо.

Последний раз редактировалось RenSit; 04.04.2010 в 17:53.
RenSit вне форума Ответить с цитированием
Старый 04.04.2010, 17:13   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

В C++ "" - строка(const char*), а '' - символ(char).
Замените s[i] != "_" на s[i] != '_' и вторую по аналогии
netrino вне форума Ответить с цитированием
Старый 04.04.2010, 17:36   #3
RenSit
 
Регистрация: 04.04.2010
Сообщений: 3
По умолчанию

офигеть... в смысле, спасибо большое я на этой ерунде почти весь день сидел... %)
RenSit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками dron4ikkkk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 25.10.2009 18:48
работа со строками qasw Помощь студентам 1 05.10.2009 20:04
Работа со строками eR- Помощь студентам 2 23.02.2009 15:11
[С++]работа со строками Федор Помощь студентам 6 23.12.2007 12:35
Работа со строками Nividimka Помощь студентам 11 03.03.2007 15:58