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

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

Восстановить пароль Регистрация
 
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
18.12.2010, 22:52     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #1
Привет друзья Столкнулся с такой задачей:
Дана строка и натуральное число n. определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки, и выяснить имеются ли в этой подстроке в точности два соседствующих сивола <<?>>(если вводимое значение n оказывается больше длинны строки, выдать сообщение об ошибке)

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

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

Определить количество и сумму цифр, состоящих на нечётных местах в записи числ C++
Определить количество серий, состоящих из квадратов натуральных чисел C++
C++ Строки. Определить минимальное количество первых символов, по которым можно различать слова с заданного текста.
Определить количество слов состоящих из менее 5 букв C++
С исходной строки символов удалить символы, отличные от русских букв и пробелов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 22:56     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #2
Цитата Сообщение от Mogul-kan Посмотреть сообщение
есть ли аналог этой функции в языке си?
strlen(str);
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
18.12.2010, 23:15  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #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)){
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 23:16     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #4
Цитата Сообщение от Mogul-kan Посмотреть сообщение
scanf("%d", Str);
C
1
gets(Str);
И вообще, что ето у вас за смесь паскаля с С?
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
18.12.2010, 23:32  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #5
код который вы мне привели я вижу впервые- это функция такая? куда ее нужно тогда вставить? Просто я никак не могу отвыкнуть от паскаля

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

я имел ввиду вот это
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 23:35     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #6
Mogul-kan, gets - считывает строку стандартного ввода и помещает ее в буфер!!!
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 00:19  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #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++){
пишет что то про ;
Где же ошибка?
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 11:04  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #8
подскажите пожалуйста почему сдесь вылетает ошибка, уже пол дня бьюсь... Неужели никто не подскажет? Я думал и много пробывал- просто проблемма еще в моей неопытности...
Миниатюры
Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки   Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки  
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.12.2010, 11:23     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #9
Mogul-kan, В С/C++ оператор равенства это - ==
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 12:12  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #10
спасибо. исправил, но все равно ошибка, что то из за несовпадения типов char[int]...

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

Добавлено через 34 секунды
Цитата Сообщение от Mogul-kan Посмотреть сообщение
char Str;
char Str[256];
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.12.2010, 13:15     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #12
Цитата Сообщение от MILAN Посмотреть сообщение
Вместо and надо &&!!!
Не факт, можно и and юзать.http://www.cppreference.com/wiki//la...nce?redirect=1
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.12.2010, 13:38     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #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;
 }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2010, 14:27     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
19.12.2010, 14:27  [ТС]     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки #14
Спасибо вам огромное. Вы настоящий человек.
Yandex
Объявления
19.12.2010, 14:27     Определить количество пробелов в подстроке, состоящих из первых n сиволов исходной строки
Ответ Создать тему
Опции темы

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