Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.05.2013, 23:57   #1
Mad_Homa
Новичок
 
Регистрация: 19.05.2013
Сообщений: 2
Репутация: 10
Восклицание Проблема с циклом For

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

using namespace std;
int substr(char *,char *);
int main()
{	
	setlocale(0,"");
	
	
	char *s1 = new char[255];
	char *s2 = new char[255];

	char r;
	

	
	

printf("Введите строку >");
cin.getline(s1,255);


	putchar('\n');
	
	
printf("Введите строку 2 >");
cin.getline(s2,255);


	r=substr(s1,s2);
	putchar('\n');
	
	cout<<"Первый символ, который входить в другую строку  "<<r<<endl;
	system ("pause");
	return 0;
}

int substr(char *src, char *src1)
{

char *st;
char *st1;
char *f=new char [strlen(src) + 1];
char *t=new char [strlen(src1) + 1];
char ret;
for(st=src;st<(f+strlen(src) + 1);st++){
	for(st1=src1;st1<(t+strlen(src1) + 1);st1++){
	
		
			if(*st==*st1){ret=*st;break;
			}
	}
	if(ret==*st)break;
	
}
return ret;
}

Последний раз редактировалось ACE Valery; 20.05.2013 в 16:38.
Mad_Homa вне форума   Ответить с цитированием
Старый 20.05.2013, 00:13   #2
Abstraction
Профессионал
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Репутация: 655
По умолчанию

0) Программный код следует оформлять тегом CODE.

1) Не приведено, в чём именно состоит проблема.
2)
Код:
int substr(char *src, char *src1)
{
  char *st;
  char *st1;
  char *f=new char [strlen(src) + 1];
  char *t=new char [strlen(src1) + 1];
  char ret;
  for(st=src;st<(f+strlen(src) + 1);st++){
    for(st1=src1;st1<(t+strlen(src1) + 1);st1++){ 

      if(*st==*st1){
        ret=*st;break;
      }
    }
    if(ret==*st)break;

  }
  return ret;
}
Пресвятая рыбка в брюках, зачем Вам вообще строки t и f?! Выкиньте их из функции немедленно.
Знаете, можно просто написать return *st и не заморачиваться с набором break-ов и дополнительной переменной под ответ. Правда, не вполне понимаю, почему заявленный возвращаемый тип функции - int. Да и тема того, что должно произойти, если условие if так никогда и не сработает, не раскрыта категорически...
Abstraction вне форума   Ответить с цитированием
Старый 20.05.2013, 00:57   #3
Mad_Homa
Новичок
 
Регистрация: 19.05.2013
Сообщений: 2
Репутация: 10
По умолчанию

Спасибо за ответ Abstraction!Извините за не корректное оформление темы!
Mad_Homa вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с циклом Joose Общие вопросы C/C++ 0 09.03.2013 17:02
C++ проблема с циклом Qile Помощь студентам 3 29.09.2012 03:03
Проблема с циклом for ProESM Общие вопросы Delphi 12 11.05.2011 15:39
Проблема с циклом! Ислам Помощь студентам 2 21.03.2011 01:48
Проблема с циклом while asp1k Общие вопросы Delphi 3 17.02.2011 15:29


01:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.