Премини към съдържанието
under

Програма за преброяване на табулации и заместване

Препоръчан отговор


#include<stdio.h>main(){	  int c,n;	 	   n=0;	  while((c=getchar())!=EOF)							   if(c=='  ')									    ++n;	  printf("%dn",n);}				  

Това е програма,която преброява шпации(интервали) и би трябвало кога

  if(c=='  ')
вместо интервал в единичните скопи цъкна табулатора да ми брои табувете,но ми дава няква грешка.Моля,ви помогнете.И другия ми въпрос е какво още трябва да добавя,така че тая програма да копира входа на изхода си,замествайки всеки низ,съставен от една или повече шпации,с една-единствена шпация.Благодаря ви много.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

#include<stdio.h>main(){	  int c,n;	 	   n=0;	  while((c=getchar())!=EOF)							   if(c=='  ')									    ++n;	  printf("%dn",n);}				  

Това е програма,която преброява шпации(интервали) и би трябвало кога

  if(c=='  ')
вместо интервал в единичните скопи цъкна табулатора да ми брои табувете,но ми дава няква грешка.Моля,ви помогнете.И другия ми въпрос е какво още трябва да добавя,така че тая програма да копира входа на изхода си,замествайки всеки низ,съставен от една или повече шпации,с една-единствена шпация.Благодаря ви много.

 

Опитайте да сравнявате с "t"

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Опитайте да сравнявате с "t"

Да стана много Ви благодаря е това с заместване знаете ли как би трябвало да стане.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Да стана много Ви благодаря е това с заместване знаете ли как би трябвало да стане.

Начина за който се сещам:

четете символ, проверявате дали е спейс. ако е печатате спейс и вдигате флаг. четете следващия символ. Ако той не е спейс сваляте флага и печатате символа. Ако е спейс, четете следващия символ

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Начина за който се сещам:

четете символ, проверявате дали е спейс. ако е печатате спейс и вдигате флаг. четете следващия символ. Ако той не е спейс сваляте флага и печатате символа. Ако е спейс, четете следващия символ

Ще го пробвам да видим и дано да стане.Благодаря ти отново за указаната помощ.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Начина за който се сещам:

четете символ, проверявате дали е спейс. ако е печатате спейс и вдигате флаг. четете следващия символ. Ако той не е спейс сваляте флага и печатате символа. Ако е спейс, четете следващия символ

#include<stdio.h>main(){	  int c,nt;	 	   nt=0;	  c==scanf("%d");	  if(c==' ')			  printf("%dn",nt);			  c++;			  scanf("%d");			  else				  c--;				  printf("%d",nt);}

По тоя,начин ли би трябвали да изглежда,защото така нещо не ми се получава.Ако може да ми помогнеш,много ще съм ти благодаря,а и някой друг ако има идея,дали греша или няма да стане така нека помага.Това сигурно е елементарно,но аз те първа почнах да го уча.Благодаря,Ви !

Редактирано от under (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

По скоро

#include<stdio.h>main(){      int c,nt,s;            nt=0;      s=1;      while((c=getchar())!=EOF) {          if (c == 't') {                c = ' ';                nt++;          }          if (c != ' ') {                s = 1;                putchar(c);          } else if (s) {                s = 0;                putchar(c);          }      }      printf("nnt = %dn", nt);      system("pause");}
Редактирано от ined (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.