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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 19:53   #11
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

открой новую тему!!!!!
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 20:10   #12
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

не решили?
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 20:12   #13
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

А у меня получилось))))
Я сегодня добрый,потому что получил зачёт по программированию!!))
Вот Вам,девушка

Код:
#include <iostream.h>
#include <string.h>
#include <stdio.h>



int num_chr(char *s,char c){
   int l = strlen(s),n = 0;
   for(int i = 0;i<=l;i++){ 
      if(s[i] == c)
         n++;
   }
   return n;
   }      


void main(){
   char str[100],c[100];
   int m,o=0,r,t;
   gets(str);
   int open,close;
   open = num_chr(str,'(');
   close = num_chr(str,')');
   if(open>1 || close>1){printf("ERROR"); }
   m=strlen(str);
   for(int i=0,j=m;i<m,j>0;i++,j--){
   if(str[i]=='('){ 
   r=i; }
     if(str[j]==')'){
     t=j;        }   
     }
     printf("%d - %d\n",r,t);
     if(r==0){
     for(i=t+1;i<m;i++){
     printf("%c",str[i]); }
     }  
     else   
     if((t+1)==m){
     for(j=0;j<r;j++){
     printf("%c",str[j]); }
     }
     else
     for(i=0;i<r;i++){
      printf("%c",str[i]); }
      printf("  ");
      for(i=t+1;i<m;i++){    
    printf("%c",str[i]); }     
    }
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 20:23   #14
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

ой,ещё здесь допишите
if(open>1 || close>1 || open<1 || close<1){printf("\nERROR\n"); }
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 20:40   #15
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

2osichev, ужас
Кстати, у вас ошибка, в первом цикле условие выхода выглядит так "i<m,j>0". Нужно "i < m && j > 0"
2Diamond2107, раз уж решение(уж какое бы ни было), но есть, то предложу свой вариант ) Только уж будьте добры, постарайтесь всё таки хоть немного напрячься, почитать ещё раз книжку, или ещё что, но всё же выдавать наработки по теме, то есть какие-то мысли по алгоритму или хотя бы примерное тело функции, которую нужно создать. main каждый написать может
Код:
#include <iostream>

char* delstr(char* str)
{
	int index_open = 0;
	int index_close = 0;
	int size_of_str = strlen(str);

	for(int i = 0; i < size_of_str; i++) {
		if(str[i] == '(')
			index_open = i+1; // Если нужно, чтобы и сами скобки удалялись, то уберите +1
		if(str[i] == ')')
			index_close = i; // а тут добавьте +1 "index_close = i + 1;"
	}

	if(index_open == 0 || index_close == 0)
		return 0;

	int len_from_close = strlen(str + index_close)+1;

	for(int i = 0; i < len_from_close; i++) {
		str[index_open++] = str[index_close++];
	}

	return str;
}

int main()
{
	char string[] = "Hello, (this is what would be deleted) you got it!";
	char* result;

	if(result = delstr(string))
		std::cout << result << std::endl;
	else
		std::cout << "There is no paranthesis" << std::endl;

	std::system("pause");
	return 0;
}

Последний раз редактировалось netrino; 12.12.2009 в 20:42.
netrino вне форума Ответить с цитированием
Старый 12.12.2009, 20:42   #16
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

[QUOTE=netrino;413684]2osichev, ужас
Кстати, у вас ошибка, в первом цикле условие выхода выглядит так "i<m,j>0". Нужно "i < m && j > 0"

ксати,у меня нет ошибок!!!!!!
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 20:46   #17
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Но выражение i<m,j>0 в качестве условия выхода из цикла не имеет абсолютно никакого смысла, так как будет обработано лишь одно из двух условий ) Если не ошибаюсь j>0, можете проверить сами, раз уж не верите мне
Код:
	for(int i = 0; i < 10, i < 20; i++)
		std::cout << i << ' ';
выведет числа от 0 до 19
netrino вне форума Ответить с цитированием
Старый 12.12.2009, 20:57   #18
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

а причем здесь числа????Я вообще-то про строку задание сделал!!!
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 21:00   #19
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

и я писал программу в Microsoft Visual C++.
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 21:01   #20
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Числа здесь пример того, что в for условие i < m будет проигнорировано.
Не хотел вас задеть, если так вышло, то прошу простить ) не будем флудить, если у вас есть ещё какие-то претензии относительно моей критики вашего кода, то пишите в личку тогда - обсудим )
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
строки в си! GTP_edition Фриланс 5 05.05.2008 01:06
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45