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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2011, 21:59   #1
Паркер
Пользователь
 
Аватар для Паркер
 
Регистрация: 11.08.2011
Сообщений: 23
По умолчанию Группы букв, знаков и цифр

Помогите, пожалуйста, отладить программу.
Задачка: предоставлен текст, каждый символ которого может быть латинской буквой, цифрой или одним из знаков '+', '-', '*'. Группой букв будем называть такую ​​совокупность последовательно расположенных букв, перед которой непосредственно и после которой не находится буква. Аналогично определим группу цифр или группу знаков:
а) определить, верно ли, что в данном тексте больше групп букв, чем групп знаков;
б) определить длину самой длинной группы цифр.
Мой код:

Код:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#define IN 1
#define OUT 0
int _tmain(int argc, _TCHAR* argv[])
{int c,nz,nl,nf,k1,k2,k3,d;
	nz=0;
	nl=0;
	nf=0;
	k1=OUT;
	k2=OUT;
	k3=OUT;
while((c=getchar())!=EOF)
	{if (c<'a' && c>'z')
	 k1=OUT;
  else 
	if (k1==OUT)
	   {k1=IN;
	    nl=nl+1;};
  if (c<'0' && c>'9')
	k2=OUT;
  else 
	if (k2==OUT)
	   {k2=IN;
    	nf=nf+1; continue;};
  if (c!='+' && c!='-'&& c!='*')
	k3=OUT;
  else 
	if (k3==OUT)
	   {k3=IN;
	    nz=nz+1;continue;};
 };
printf("Bykv=%d\t",nl);
printf("Chifr=%d\t",nf);
printf("Znakov=%d\t",nz);
if (nl>nz) printf("Bykv > znakov\n");
else printf("Bykv < znakov\n");
}
Как сделать так, что бы как только одно из k(1, 2 или 3) станет равным единице, компилятор переходил к следующему знаку.????

Последний раз редактировалось Паркер; 08.11.2011 в 22:20.
Паркер вне форума Ответить с цитированием
Старый 08.11.2011, 22:11   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Компилятор вообще никуда не переходит, он превращает Вашу программу в машинный код, и на этом его работа заканчивается.
А так, есть полезное ключевое слово continue. Непосредственно желаемое реализуется его простановкой после каждой инструкции ki=IN.
Abstraction вне форума Ответить с цитированием
Старый 08.11.2011, 22:18   #3
Паркер
Пользователь
 
Аватар для Паркер
 
Регистрация: 11.08.2011
Сообщений: 23
По умолчанию

Там был один не закрытый комментарий, убрала его, теперь пр-ма должна компилироваться!
Паркер вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группы символов, состоящие только из латинских букв, если первая буква группы входит в нее еще только оди Ela Помощь студентам 0 29.04.2010 13:41
Замена знаков сноски (цифр на звездочки) caute Microsoft Office Word 19 27.12.2009 10:34
Строки(группы букв и группы знаков), Pascal Mrs Smith Помощь студентам 1 10.12.2009 16:31
замена знаков и букв memka PHP 8 19.04.2009 18:51
Удалить из строки все группы букв вида abcd Григорийpnz Паскаль, Turbo Pascal, PascalABC.NET 5 27.11.2008 12:48