Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yuliyayuliya28
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
#1

Функция (объяснить) - C++

02.12.2012, 23:23. Просмотров 303. Ответов 6
Метки нет (Все метки)

Здраствуйте помогите пожалуйста разобраться в функции

Не пойму,
мы передаём в функцию символ и массив символов,
i- счётчик, по которому мы движемся до конца строки
если элемент массива совпадаем с переданным символом -> выходим и возращаем i ? или просто выходим из функции?
C++
1
2
3
4
5
6
7
int SearchTerminal(char c,char T[])
{
        int i;
        for (i=0; T[i] !='\0'; i++)
            if (T[i]==c) break;
        return(i);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 23:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция (объяснить) (C++):

Объяснить код (рекурсивная функция). - C++
Кто может подробно объяснить эту рекурсивную функцию int Mod(int *a, int *end, int k) { return a < end ? ((*a)%k == 0) +...

Функция strncpy_s - объяснить аргументы функции - C++
strncpy_s(str1, x, str2, y); правильно ли я понимаю что: str1 - куда копируем; str2 - что копируем; y - max размер буфера, для...

Простейшая функция. Нужно объяснить просто - C++
Здравствуйте, братья-программисты. У меня такая проблемулина: перехожу с delphi на cpp, решаю упражнения всякие, но вот с этим не понимаю...

Рекурсивная функция суммы (объяснить код) - C++
int summa(int x, int y) { if (x == 0) return y; if (y == 0) return x; return summa(x -1, y)+1; ...

Объяснить, что делает функция, подробно - C++
cin.rdbuf()->in_avail() Добавлено через 19 секунд И что такое rdbuf

Объяснить как работает рекурсивная функция и стек вызовов на моем примере - C++
Объясните пожалуйста как работает рекурсивная функция и стек вызовов на моем примере. Здесь известный алгоритм "Разделяй и властвуй". Но...

6
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.12.2012, 23:29 #2
параметры функции символ и массив символов.
Цикл for идёт до конца строки.
Если символ в строки оказывается равен символу, которой передали в качестве аргументы происходит выход из цикла и возвращается индекс массива, где этот символ расположен.
1
Shef4u
15 / 15 / 0
Регистрация: 31.10.2011
Сообщений: 116
02.12.2012, 23:31 #3
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
Здраствуйте помогите пожалуйста разобраться в функции

Не пойму,
мы передаём в функцию символ и массив символов,
i- счётчик, по которому мы движемся до конца строки
если элемент массива совпадаем с переданным символом -> выходим и возращаем i ? или просто выходим из функции?
int SearchTerminal(char c,char T[])
{
int i;
for (i=0; T[i] !='\0'; i++)
if (T[i]==c) break;
return(i);
}
ну поскольку ф-ция у вас не void то надо возвращать что-то. у вашему случае надо возвращать я думаю T[i]
1
yuliyayuliya28
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
02.12.2012, 23:36  [ТС] #4
Цитата Сообщение от David Sylva Посмотреть сообщение
параметры функции символ и массив символов.
Цикл for идёт до конца строки.
Если символ в строки оказывается равен символу, которой передали в качестве аргументы происходит выход из цикла и возвращается индекс массива, где этот символ расположен.
Вот спасибо мне и нужен был ответ, по break выходит из цикла или из функции)теперь понятно

Добавлено через 1 минуту
Цитата Сообщение от Shef4u Посмотреть сообщение
ну поскольку ф-ция у вас не void то надо возвращать что-то. у вашему случае надо возвращать я думаю T[i]
т.к. int я думаю мы не можем возвращать T[i] , ведь у него тип char
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.12.2012, 23:39 #5
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
т.к. int я думаю мы не можем возвращать T[i] , ведь у него тип char
Исходя из логики нет. А в принципе можно.
1
yuliyayuliya28
4 / 4 / 0
Регистрация: 06.03.2011
Сообщений: 319
02.12.2012, 23:41  [ТС] #6
Цитата Сообщение от David Sylva Посмотреть сообщение
Исходя из логики нет. А в принципе можно.
Можно если добавить перед называнием функции char? или как?
0
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
02.12.2012, 23:45 #7
Да нет всё просто.Переменная типа char, то есть символ записанный в одинарных кавычках, представляет собой числовое значение, равное коду символа в символьном наборе системы. Я так просто, к вашему заданию это не имеет отношения.
1
02.12.2012, 23:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 23:45
Привет! Вот еще темы с ответами:

Не могли бы объяснить, как работает эта функция для удаления цифр? - C++
char* delDig(char *S) { int i,j; i=0; for (j=0; j<strlen(S); j++) if ((S < '0') || (S > '9')) S=S; S=0;...

Объяснить программу - C++
Объясните пожалуйста каждую строку. #include <iostream> #include <string> #include <algorithm> struct is_punct { ...

Объяснить строку - C++
while (strchr(S,*str)==strrchr(S,*str) ) объясните строку

Объяснить программу - C++
объясните пожалуйста программу,что делается на каждом этапе.struct sp{ int inf; sp* adr;} sp *fst,*lst,*tmp; tmp=(sp*)malloc(vl); int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru