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

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

Войти
Регистрация
Восстановить пароль
 
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
#1

Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки - C++

18.12.2010, 22:52. Просмотров 767. Ответов 13
Метки нет (Все метки)

Привет друзья Столкнулся с такой задачей:
Дана строка и натуральное число n. определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки, и выяснить имеются ли в этой подстроке в точности два соседствующих сивола <<?>>(если вводимое значение n оказывается больше длинны строки, выдать сообщение об ошибке)

Добавлено через 25 минут
мне хотя бы примерно навести на мысль как оно делается- со строками не работал ни разу

Добавлено через 4 часа 23 минуты
Щас я делаю эту программу. До этого я изучал pascal, и там была функция lenght. можно было например написать
Pascal
1
Until N <= Length(St);
есть ли аналог этой функции в языке си?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2010, 22:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки (C++):

Замена пробелов в подстроке - C++
Мне нужно написать функцию которая будет находить и заменять обычный пробел на нижний, не совсем разобрался с функцией replace, вышло...

С исходной строки символов удалить символы, отличные от русских букв и пробелов - C++
С исходной строки символов удалить символы, отличные от русских букв и пробелов.

Строки. Определить минимальное количество первых символов, по которым можно различать слова с заданного текста. - C++
Задача. Определить минимальное количество первых символов, по которым можно различать слова с заданного текста. Направьте, пожалуйста,...

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

Определить количество слов в тексте, состоящих из K букв. C#/C++ - C++
Даны числа K и текст из слов разделенными пробелами, в конце точка. Определить количество слов в тексте, состоящих из K букв. Помогите...

Определить количество серий, состоящих из квадратов натуральных чисел - C++
В целочисленном массиве определить количество серий, состоящих из квадратов натуральных чисел. Что такое натуральное число - понятно,...

13
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 22:56 #2
Цитата Сообщение от Mogul-kan Посмотреть сообщение
есть ли аналог этой функции в языке си?
strlen(str);
0
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
18.12.2010, 23:15  [ТС] #3
вот я написал код.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{ char Str;
int i,n, kol, flag;
printf("VVedite stroky");
scanf("%d", Str);
printf("VVedite natur chilo n");
scanf("%d", n);
flag=0;
kol=0;
while (n <= strlen(Str)){
for (i:=1, i<n, i++)
if (Str[i]=' ') {kol++} else
if (Str[i]='?') and (Str[i+1]='?'){flag=1;}   
printf ("Kol probelov=%d", kol);
if (flag=1) {printf ("Yes");} else printf ("No");}
Но вот в этой строке почему то вылетает ошибка
C
1
while (n <= strlen(Str)){
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 23:16 #4
Цитата Сообщение от Mogul-kan Посмотреть сообщение
scanf("%d", Str);
C
1
gets(Str);
И вообще, что ето у вас за смесь паскаля с С?
0
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
18.12.2010, 23:32  [ТС] #5
код который вы мне привели я вижу впервые- это функция такая? куда ее нужно тогда вставить? Просто я никак не могу отвыкнуть от паскаля

Добавлено через 5 минут
[QUOTE=MILAN;1216252]
C
1
gets(Str);
QUOTE]

я имел ввиду вот это
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 23:35 #6
Mogul-kan, gets - считывает строку стандартного ввода и помещает ее в буфер!!!
0
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 00:19  [ТС] #7
когда я меняю строку со scanf на эту то у меня происходит ошибка, не подскажете почему не работает?
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{ char Str;
int i,n, kol, flag;
printf("VVedite stroky");
gets(Str);
printf("VVedite natur chilo n");
scanf("%d", n);
flag=0;
kol=0;
do 
 
 
 
while (n <= strlen(Str)){
for (i:=1, i<n, i++)
if (Str[i]=' ') {kol++} else
if (Str[i]='?') and (Str[i+1]='?'){flag=1;}   
printf ("Kol probelov=%d", kol);
if (flag=1) {printf ("Yes");} else printf ("No");}   
    
    getch();}
Добавлено через 38 минут
Вот я перекодил:
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
 int main()
{ char Str;
 int i,n, kol, flag;
 printf("VVedite stroky");
scanf("%d", & Str);
 printf("VVedite natur chilo n");
 scanf("%d", & n);
flag=0;
kol=0;
do
{
for (i:=1, i<n, i++){
if (Str[i]=' ') {kol++} else {
if (Str[i]='?') and (Str[i+1]='?'){flag=1;} }  
printf ("Kol probelov=%d", kol);
if (flag=1) {printf ("Yes");} else printf ("No");}}  
 
while (n <= strlen(Str));
    
    getch();}
вот в этой строке почему то вылетает ошибка
C
1
for (i:=1, i<n, i++){
пишет что то про ;
Где же ошибка?
0
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 11:04  [ТС] #8
подскажите пожалуйста почему сдесь вылетает ошибка, уже пол дня бьюсь... Неужели никто не подскажет? Я думал и много пробывал- просто проблемма еще в моей неопытности...
0
Миниатюры
Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки   Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки  
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.12.2010, 11:23 #9
Mogul-kan, В С/C++ оператор равенства это - ==
0
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 12:12  [ТС] #10
спасибо. исправил, но все равно ошибка, что то из за несовпадения типов char[int]...

Добавлено через 18 минут
подскажите кто нибудь... все го лишь одну строчку не понимаю дальше я сам
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.12.2010, 12:36 #11
Цитата Сообщение от Mogul-kan Посмотреть сообщение
if (Str[i]='?') and (Str[i+1]='?')
Вместо and надо &&!!!

Добавлено через 34 секунды
Цитата Сообщение от Mogul-kan Посмотреть сообщение
char Str;
char Str[256];
1
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.12.2010, 13:15 #12
Цитата Сообщение от MILAN Посмотреть сообщение
Вместо and надо &&!!!
Не факт, можно и and юзать.http://www.cppreference.com/wiki//la...nce?redirect=1
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.12.2010, 13:38 #13
Цитата Сообщение от Mogul-kan Посмотреть сообщение
Дана строка и натуральное число n. определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки, и выяснить имеются ли в этой подстроке в точности два соседствующих сивола <<?>>(если вводимое значение n оказывается больше длинны строки, выдать сообщение об ошибке)
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
 
 int main()
   { 
       char str[256];
       int i,n,num_pr=0,flag=0;
       printf("Enter string -> ");
       gets(str);
       printf("Enter n -> ");
       scanf("%d",&n);
        if(n>strlen(str))
        {
            printf("\nError!!!");
             return 1;
        }
       for(i=0; i<n; i++)
       {
           if(str[i]==' ')
           {
               num_pr++;
 
           }
            if(str[i]=='?' && str[i+1]=='?')
            {
                flag=1;
            }
       }
 
 
       printf("\n Number space -> %d\n",num_pr);
       (flag) ? printf("Yes") : printf("No");
      getch();
      return 0;
 }
1
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 14:27  [ТС] #14
Спасибо вам огромное. Вы настоящий человек.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2010, 14:27
Привет! Вот еще темы с ответами:

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

Определить количество слов состоящих не более чем из четырех букв - C++
Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих из не более чем четырех буквами

Дана строка символов. Определить количество слов состоящих из четырех букв - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; int...

Определить количество и сумму цифр, состоящих на нечётных местах в записи числ - C++
дано целое число.Определить кол-во и сумму цифр состоящих на нечётных местах в записи числа.????


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

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

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