powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / строки в С++
11 сообщений из 11, страница 1 из 1
строки в С++
    #38179146
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iostream>
# include <string.h>
using namespace std;
int main(int argc, char* argv[])
{char a;
cout <<"Vvedite predlojenie: ";
cin>> a;
int qqq =  strlen(a);//ошибка
getch();
return 0;
}

нужно узнать количество символов в строке. никогда не думал, что с этим могут возникнуть проблемы. подскажете?
...
Рейтинг: 0 / 0
строки в С++
    #38179160
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

char a; - это не строка, а одиночный символ.

см std::string
...
Рейтинг: 0 / 0
строки в С++
    #38179188
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

да, изначально я объявлял a как string, то же самое. это я потом уже начал баловаться с объявлениями
...
Рейтинг: 0 / 0
строки в С++
    #38179193
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

и что не получилось?
если что - длина std::string a;
Код: plaintext
1.
a.length()
...
Рейтинг: 0 / 0
строки в С++
    #38179233
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

спасибо! в брошюрке, которую выдали в универе, про это ни слова. осталась последняя загводка:
Код: plaintext
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.
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iostream>
# include <string.h>
//string substr( size_type index = 0, size_type length = npos ) const;
using namespace std;
int main(int argc, char* argv[])
{string a;
string aa;
int i;
bool estb;
cout <<"Vvedite predlojenie: ";
cin>> a;
for(i=1; i<=a.length(); ++i)
{
estb = false;
        for(int j=1; j<=aa.length(); ++j)
        {if ( aa.substr(j,1) ==a.substr(i,1))  estb = true;}
if(estb== false) aa = strcpy(aa, a.substr(i,1));//ошибка
}
cout <<aa.length();
getch();
return 0;
}

почему-то не получается запихать в строку символ
...
Рейтинг: 0 / 0
строки в С++
    #38179234
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

не используйте функции из С-библиотеки, используйте С++
aa - ничем не инициализирована, в чём задача состоит?
a.substr(i,1) - если нужен символ - то a[i]
...
Рейтинг: 0 / 0
строки в С++
    #38179240
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

Код: plaintext
1.
if(estb== false) aa = strcpy(aa, a.[i]);

так тоже не работает. нужно запихнуть в строку aa i-тый символ из строки a
а общая задача... опа... я вообще не то задание делал. мда. ну хоть это доделаю для повышения навыков программирования
...
Рейтинг: 0 / 0
строки в С++
    #38179243
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

aa+=a[i] имел ввиду?

P.S. if(estb== false) режет глаз. if(!estb) обычно пишут
...
Рейтинг: 0 / 0
строки в С++
    #38179253
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

да, спасибо, именно это)
код работает некорректно, но ошибки искать не буду, т.к. почему-то всё равно делал не свой вариант:Р
...
Рейтинг: 0 / 0
строки в С++
    #38179255
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

кнмжку всё-таки почитай - всё равно какой вариант придётся делать :)
...
Рейтинг: 0 / 0
строки в С++
    #38179398
sherzod_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerнужно узнать количество символов в строке. никогда не думал, что с этим могут возникнуть проблемы. подскажете?
На самом деле с этим всегда возникают проблемы. То что вы получаете посредством string::length (== string::size) - не совсем то что вам хотелось бы. Это изъезженная вдоль и поперек тема, советую почитать про кодировки, про unicode, utf-8, unibyte encodings и др. В общем просветиться о том как представляются строки в памяти и почему это плохо.

Хотя для лабы, если пользоваться только латиницей и так сойдет :).
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / строки в С++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]