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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.76
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
#1

Определить длину строки. Проверить, есть ли в ней слово “one”. - C++

04.10.2009, 19:43. Просмотров 3717. Ответов 29

Всем привет
Вобщем запара с лабороторкой по инфе, нада помощь

Задача:
Дана строка не более 20 английских символов. Определить длину строки. Проверить, есть ли в ней слово “one”.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vcl.h>
#pragma hdrstop
#include <string.h>
#include <iostream.h>
#include <conio.h>
#include <iostream.h>
int main()
{  char str1[20];
        int startp;
        cout<<"Enter string: "<<endl;
    cin.getline(str1, 20);
  cout << "Length: " << str1.length() <<endl;
 
  if (str1.find("one") != std::string::npos) {
    cout << "Match" <<endl;
  } else {
    cout << "Mismatch" <<endl;
  }
  return 0;
  }
  getch();
такой вопрос - че эт за ошибка Structure required on left side of . or .* в строчках
C++
1
2
cout << "Length: " << str.length() << endl;
if (str1.find("one") != std::string::npos)
?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2009, 19:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить длину строки. Проверить, есть ли в ней слово “one”. (C++):

Строки. Определить , сколько раз встречается в ней самое длинное слово - C++
дана строка содержащий текст на русском языке. определить , сколько раз встречается в ней самое длинное слово.заранее спасибо!

Определить длину введенной строки и количество букв "а" в ней - C++
вывести фамилию, имя и по отчеству как одно текстовое данное . Определить длину данного и количество букв &quot;а&quot; в нем. Svetlana...

Определить длину данной строки и количество букв "а" в ней. Вывести имя в обратном порядке - C++
Ввести фамилию, имя и отчество как одно текстовое дано. Определить длину данной строки и количество букв &quot;а&quot; в нем. Решить задачу двумя...

Проверить, одинаково ли число открывающихся и закрывающихся скобок в данной строке. Определить длину строки, результат вывести на экран. - C++
Помогите решить данные задачи пожалуйста, завтра надо сдавать, заранее спасибо. 1.Проверить, одинаково ли число открывающихся и...

Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово - C++
Напишите программу, которая считывает текст из файла и выводит на экран все строки файла, после каждой строки добавляя, сколько раз в ней...

Ввести символьную строку проверить есть ли в ней цифры - C++
Ввести символьную строку проверить есть ли в ней цифры. Если в строке есть цифры вывести на экран &quot;В строке есть цифры&quot; если в нету то &quot;В...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
chelovechek
сишник
Автор FAQ
130 / 37 / 0
Регистрация: 25.07.2009
Сообщений: 291
04.10.2009, 19:47 #2
Saturn, char * - это массив символов. У него не может быть членов структуры/класса (.length() и т.д.).
Используйте string str1;
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
04.10.2009, 20:00 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
    const int size = 20;
    char str[size];
    std::cin.getline(str,size);
    std::cout<<"length of string is:"<<strlen(str)<<std::endl;
    if (strstr(str,"one")) 
    {
        std::cout<<"one in the string"<<std::endl;
    }
    else
    {
        std::cout<<"ERROR!"<<std::endl;
    }
    return 0;
}
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
04.10.2009, 20:19  [ТС] #4
вылазит ошибка Unable to open include file stdafx.h
тоесть у меня нету такого файла, или может просто название не правильно написано?
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
04.10.2009, 20:59 #5
Saturn,
C++
1
2
3
4
5
6
7
#include <iostream>
#include <cstring>
 
int main()
{
// дальше всё то же самое
}
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
04.10.2009, 21:08  [ТС] #6
спс
Вот только чета у меня после ввода строки сразу экран исчезает, хотя getch() есть.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
04.10.2009, 21:21 #7
C++
1
system("pause");
поставь или
C++
1
std::cin.get()
перед return 0;
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
04.10.2009, 21:22 #8
Напиши в самом конце 2 строки:
C++
1
2
3
4
5
6
7
int main()
{
...................
............
cin.ignore();
cin.get();
}
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
06.10.2009, 17:22  [ТС] #9
Все равно после нажатия Ентер окно сразу исчезает. Вроде в Досовском С++ хватало одного гетч(), а в билдере первый раз, поэтому не знаю че тут как.
И еще такой вопрос, для чего тут CHAR* argv[] ? Просто сам С++ знаю на уровне нескольких лекций и самоучителя, вот и приходится просить сторонней помощи =\

проблему решил
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
27.10.2009, 19:56  [ТС] #10
Еще раз к вам обращаюсь. Подскажите как сделать эту прогу с указателем и оператором new?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void main ( )
{
        const int size = 20;
        char str[size];
        cin.getline(str,size);
          ofstream ptk1("test18.txt");
        cout<<"length of string is:"<<strlen(str)<<endl;
         ptk1<<"length of string is:"<<strlen(str)<<endl;
        if (strstr(str,"one"))
        {
                cout<<"one in the string"<<endl;
                ptk1<<"one in the string"<<endl;
        }
        else
        {
            cout<<"ERROR!"<<endl;
            ptk1<<"ERROR!"<<endl;
        }
         getch ();
        }
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.10.2009, 20:24 #11
C++
1
std::cin>>n; char *st = new char[n]
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
27.10.2009, 20:45  [ТС] #12
Цитата Сообщение от Андрейка Посмотреть сообщение
C++
1
std::cin>>n; char *st = new char[n]
это как я понял вместо cin.getline(str,size); писать? но тогда прога не правильно работает
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
27.10.2009, 20:51 #13
для того что бы узнать длину юзай strlen();
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
27.10.2009, 21:14  [ТС] #14
тоесть вот так как-то должно выйти? если да, то слово one в строке не находит и длину всегда 6 выводит
C++
1
2
3
4
5
6
7
8
9
10
....
const int size = 20;
        char str[size];
        char *st = new char[size];
        cin>>st[size];
          ofstream ptk1("test18.txt");
        cout<<"length of string is:"<<strlen(st)<<endl;
         ptk1<<"length of string is:"<<strlen(st)<<endl;
        if (strstr(st,"one"))
...
Saturn
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 14
01.11.2009, 20:12  [ТС] #15
Цитата Сообщение от Saturn Посмотреть сообщение
тоесть вот так как-то должно выйти? если да, то слово one в строке не находит и длину всегда 6 выводит
C++
1
2
3
4
5
6
7
8
9
10
....
const int size = 20;
        char str[size];
        char *st = new char[size];
        cin>>st[size];
          ofstream ptk1("test18.txt");
        cout<<"length of string is:"<<strlen(st)<<endl;
         ptk1<<"length of string is:"<<strlen(st)<<endl;
        if (strstr(st,"one"))
...
подскажите плз, а то сам немогу чета разобраться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2009, 20:12
Привет! Вот еще темы с ответами:

Необходимо определить длину каждой строки, определить сколько символив первой и второй строки совпадают - C++
Приветик всем)) Очень нужна помощь. Помогите решить некоторые задачи. 1. Пускай мы имеем массив 5 на 5. Необходимо отсортировать...

Проверить, есть ли слово в массиве - C++
Нужна помощь. Вообщем , есть символьный массив , пользователь вводит слово и нужно проверить есть ли это слово в массиве по стоке,столбцам...

Текст в файле, проверить длину строки - C++
Помогите пожалуйста решить. Текст в файле: имя пользователя. Проверить ,чтобы длина строки ббыла не меньше...

Проверить одну строку на наличие в ней слова из второй строки - C++
Программа просит ввести строку №1 и строку №2. Первая строка больше второй. Затем если в первой строке присудствует фраза либо слово из...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.11.2009, 20:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru