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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2011, 16:39   #11
Adelina
Новичок
Джуниор
 
Регистрация: 24.04.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WebbMan Посмотреть сообщение
TTTOO
strlen(строка)/2
получиться 2 с остатком, убираем остаток и +1
получаем 3 и это и будет тем индексом символа который надо удалить
bool srav(char s1[],char s2[])
{ cout<<strlen(s1)<<" "<<strlen(s2)<<endl;
if (strlen(s1)!=strlen(s2))
return 0;


???? так
Adelina вне форума Ответить с цитированием
Старый 24.04.2011, 16:57   #12
Adelina
Новичок
Джуниор
 
Регистрация: 24.04.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от osichev Посмотреть сообщение
сейчас,девушка,что-нибудь придумаем.
не спешите))
жду....пока вы что-нибудь придумаете ))))) а то сама как то пока не придумала ))))
Adelina вне форума Ответить с цитированием
Старый 24.04.2011, 17:01   #13
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Код:
char str[]="TTTOO";//строка четная
	  char str_2[]="TTOO";//нечетная
		int i;
  
  i = strlen(str);
  
 if (i % 2 == 0){
       i = i/2;
 cout << str[i];
 cout << str[i+1];

 
 }
 
 
  else {i=i/2; cout << str[int(i)+1] << endl;}
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 17:04   #14
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

То есть даете строку аргументом функции strlen и дальше в зависимости от четности, нечетности выводится результат.
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 17:05   #15
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Цитата:
Сообщение от WebbMan Посмотреть сообщение
Код:
char str[]="TTTOO";//строка четная
	  char str_2[]="TTOO";//нечетная
		int i;
  
  i = strlen(str);
  
 if (i % 2 == 0){
       i = i/2;
 cout << str[i];
 cout << str[i+1];

 
 }
 
 
  else {i=i/2; cout << str[int(i)+1] << endl;}

вы правы.
НО,вы не учли,что могут быть и знаки препинания
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 24.04.2011, 17:08   #16
Adelina
Новичок
Джуниор
 
Регистрация: 24.04.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от WebbMan Посмотреть сообщение
Код:
char str[]="TTTOO";//строка четная
	  char str_2[]="TTOO";//нечетная
		int i;
  
  i = strlen(str);
  
 if (i % 2 == 0){
       i = i/2;
 cout << str[i];
 cout << str[i+1];

 
 }
 
 
  else {i=i/2; cout << str[int(i)+1] << endl;}



#include <iostream>
#include <string>
using namespace std;

int main()
{wcout.imbue(locale("rus_rus.866")) ;
wcout<<L" Лабораторная работа № 15 "<<endl;
wcout<<L" Работу выполнил студент группы ИК-21"<<endl;

cout<<endl;
int k,n;
char s[15];
wcout << L"Введите строку: "; cin>>s;
cout<<strlen(s)<<endl;
n=strlen(s);
k=n%2;
if(n%2==0)
s.erase(k,2);
else
s.erase(k+1,1);

cout<<s;
system("pause");

return 0;
}




а вот так нельзя??? только почему то в erase ошибку находит
Adelina вне форума Ответить с цитированием
Старый 24.04.2011, 17:18   #17
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Цитата:
НО,вы не учли,что могут быть и знаки препинания
ввожу &^!!@ выводит ! всё правильно работает.
Или вам надо пропускать знаки?
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 17:23   #18
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Цитата:
Сообщение от WebbMan Посмотреть сообщение
ввожу &^!!@ выводит ! всё правильно работает.
Или вам надо пропускать знаки?
написано ведь ТОЛЬКО БУКВЫ
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 24.04.2011, 17:55   #19
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Цитата:
написано ведь ТОЛЬКО БУКВЫ
написано удалить букву а "ТОЛЬКО БУКВЫ" нигде не сказано
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 19:30   #20
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Если что извините.Может кому-то покажется,что много циклов

Код:

#include<stdio.h>
#include<string.h>
void main(){
	char s[100],*d;
	char *word[100];
	char *tmp1,*simv=".!?";
	int N;
	printf("Введите текст: \n");
	gets(s);    
	//ищем количество строк
	tmp1=strtok(s,simv);
	int k=0;
	while (tmp1){
	if(tmp1){
	word[k]=tmp1;
	k++;
	}
	tmp1=strtok(NULL,simv);

	} 
	
	
	//вводим номер строки,которая нам нужна    
	printf("\nКоличество строк = %d",k);
	printf("\nВведите строку:\t");          
	scanf("%d",&N);
	
		//заносим строку в d
	 for(int y=0;y<k;y++){
	if((N-1)==y){
	d=word[y];
	}
	else ("ERROR");
	} 
      
      
   printf("\nСтрока под номером %d: %s",N,d);
 
	 int MAS[30];
	 int D=0,OO=0; 
      //ищем количество букв в строке и
      //и заносим их индексы в массив 
	  for(int i=0;i<strlen(d);i++)
      {    
         if(d[i]!=' ' && d[i]!=',')
         { 
         MAS[D]=i;
          D++;  
        
         }
                   
     }       
     
         
         int F=D/2; // номер среднего
	     int F1=D%2; // чет или нечет
     	       
     	       
    	   if(F1!=0)//если чет
    	   {    
     	     for(i=0;i<strlen(d);i++)
              {    
    
           if(MAS[F]==i)
            d[i]='!';
         }
         }
   
      if(F1==0 ) //нечет
       { 
      for(i=0;i<strlen(d);i++)
        {
           if( MAS[F-1]==i)
            {
             d[i]='!';   
             }
             if(MAS[F]==i)
            {
             d[i]='!';   
             }
            
         }
  }
            
         

            
      
    
    printf("\nПолученная строка:  %s",d);  
  
    
   
	  
}

смог как смог
Программист без пива, как спирт без пробки - выдохнется___________-

Последний раз редактировалось osichev; 24.04.2011 в 20:20.
osichev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Дбавление новой строки, после строки с подходящими параметрами RailOS Microsoft Office Excel 5 18.08.2010 10:12
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10