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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2010, 22:56   #1
DMMx667
Новичок
Джуниор
 
Регистрация: 26.01.2010
Сообщений: 8
Вопрос Как добывить игнорирование пробелов?

вот код который написал.

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <string.h>

//---------------------------------------------------------------------------

#pragma argsused
void main(void)
{
char A[50];
int i,k,m,N,a=1;

cout<<"enter string\n";
cin>>A;
N = getline(A);

k=0;
m=0;

for (i=0;i<N;i++)
{
if (A[i]=='+') k=k+1;
if (A[i]=='*') m=m+1;
}

cout<<"number of symbols '+' = "<<k<<endl;
cout<<"number of symbols '*' = "<<m<<endl;


while(a!=97)
{
a=getch();
}
}

//---------- --------------------------------------------------------------
DMMx667 вне форума Ответить с цитированием
Старый 26.01.2010, 23:00   #2
DMMx667
Новичок
Джуниор
 
Регистрация: 26.01.2010
Сообщений: 8
По умолчанию

Имею ввиду при считывании строки, считование продолжалось и после пробела. Мучался-ничего не выходит.
DMMx667 вне форума Ответить с цитированием
Старый 26.01.2010, 23:24   #3
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

Код:
cin.getline(A,50);
Cpluser вне форума Ответить с цитированием
Старый 26.01.2010, 23:59   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

DMMx667, где теги code, чтоб красиво было?
Carbon вне форума Ответить с цитированием
Старый 27.01.2010, 00:15   #5
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Ну можно типа так сделать

Код:
int CountSpace = 0;

for (i=0;i<N;i++)
{
    CountSpace++; /* Подсчитывает все символы в строке, включая и пробел */
    if (A[i] == ' ') { --CountSpace; } /* Если в строке встречается пробел, минусуем счетчик */
    if (A[i]=='+') k=k+1;
    if (A[i]=='*') m=m+1;
}
То есть таким тупеньким вариантом можно якобы проигнорить пробелы.

Другой вариант с функцией strtok(Arg1, Arg2); исключающей заданные символы

strtok(A, " "); // исключение пробела
strtok(A, " +-!@#$%^&*"); // Исключение и других символов

Последний раз редактировалось coNsept; 27.01.2010 в 00:35.
coNsept вне форума Ответить с цитированием
Старый 27.01.2010, 00:34   #6
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Цитата:
Сообщение от DMMx667 Посмотреть сообщение
вот код который написал.

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <string.h>

//---------------------------------------------------------------------------

#pragma argsused
void main(void)
{
char A[50];
int i,k,m,N,a=1;

cout<<"enter string\n";
cin>>A;
N = getline(A);

k=0;
m=0;

for (i=0;i<N;i++)
{
if (A[i]=='+') k=k+1;
if (A[i]=='*') m=m+1;
}

cout<<"number of symbols '+' = "<<k<<endl;
cout<<"number of symbols '*' = "<<m<<endl;


while(a!=97)
{
a=getch();
}
}

//---------- --------------------------------------------------------------
Используй cin.getline(str,max_len,'\n') - вместо последнего параметра можешь поставить символ-ограничитель, например '@' или '$'
А если тебе нужно ввести string, то getline(cin,str)
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 27.01.2010, 00:59   #7
DMMx667
Новичок
Джуниор
 
Регистрация: 26.01.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Carbon Посмотреть сообщение
DMMx667, где теги code, чтоб красиво было?
Исправлюсь. Сори.
DMMx667 вне форума Ответить с цитированием
Старый 27.01.2010, 01:02   #8
DMMx667
Новичок
Джуниор
 
Регистрация: 26.01.2010
Сообщений: 8
По умолчанию

Не могу понять как подключить getline(cin,a). Не может до неё дозвониться=(
DMMx667 вне форума Ответить с цитированием
Старый 27.01.2010, 01:07   #9
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от DMMx667 Посмотреть сообщение
Не могу понять как подключить getline(cin,a). Не может до неё дозвониться=(
Код:
cin.getline( a );
Carbon вне форума Ответить с цитированием
Старый 27.01.2010, 01:09   #10
DMMx667
Новичок
Джуниор
 
Регистрация: 26.01.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Carbon Посмотреть сообщение
Код:
cin.getline( a );
Код:
[C++ Error] Unit4.cpp(20): E2285 Could not find a match for 'istream::getline(char *)'
=(
DMMx667 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы не было пробелов и курсор не убегал далеко savra Помощь студентам 3 24.12.2009 18:21
Игнорирование ошибок при выполнении программы NecroSlider Общие вопросы Delphi 5 25.09.2009 13:02
как в строке вставить n-ое количество пробелов Marinka91 Паскаль, Turbo Pascal, PascalABC.NET 18 14.08.2009 13:33
Игнорирование ошибок mephist Microsoft Office Excel 3 24.07.2009 09:58
Игнорирование ошибок сценария в WebBrowser Vladimir K. Общие вопросы Delphi 1 03.02.2008 23:23