Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
1

Как вызвать приведенную функцию

20.12.2010, 15:45. Показов 1331. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят.
если я объясню что делает то мне за кр 4 будет.
если нет.то 2
я сделл вызов функции а толку ваще ноль.никак понять не могу
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int F9(char c1[],char c2[]){ 
int i,j;
for (i=0; c1[i] !='\0'; i++){
for (j=0; c2[j] !='\0'; j++)
if (c1[i+j] != c2[j]) break;
if (c2[j] =='\0') return i;
}
return -1;
}
 
void main(){
char a[]={"1234567"}, b[]={"1239567"};
 
int x= F9(a,b);
printf("%d",x); 
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2010, 15:45
Ответы с готовыми решениями:

Как вызвать функцию в main
main() { struct EL_SP *p; /* указатель начала списка */ unsigned n ; ...

Как правильно вызвать функцию?
как вызвать функцию? int sum_last(list_ptr a) { list_ptr ptr; assert(NULL != a);...

Как правильно вызвать функцию?
Вопрос как правильно сделать вызов из mainLoop функцию comlastLogin через sortlastLogin. Если...

Как вызвать функцию для двумерного массива?
Вот код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int...

10
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
20.12.2010, 15:52 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вам 2 )))

Цитата Сообщение от xGamer Посмотреть сообщение
C
1
2
3
4
5
6
7
8
int i,j;
for (i=0; c1[i] !='\0'; i++){
for (j=0; c2[j] !='\0'; j++)
if (c1[i+j] != c2[j]) break;
if (c2[j] =='\0') return i;
}
return -1;
}
При первом проходе цикла (циклов) сравниваются 2 строки, если они не одинаковые, то возвращается минус 1, если одинаковые, то на втором проходе все равно вернется минус 1, т.е ф-ция лишена смысла. Можно было в мэйне написать:
C
1
2
3
4
5
6
7
void main(){
char a[]={"1234567"}, b[]={"1239567"};
 
int x= -1;
printf("%d",x); 
 
}
и не парится)))
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
20.12.2010, 15:57 3
Функция возвращает первый индекс С1 чей элемент не равен элементу С2. Как то так.
1
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
20.12.2010, 16:00  [ТС] 4
Кстати нет
если строки одинаковые.то прога 0 выводит
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
20.12.2010, 16:02 5
я там чуть чуть не то написал (сложно читать неформатированный код):

Цитата Сообщение от Kastaneda Посмотреть сообщение
если одинаковые, то на втором проходе все равно вернется минус 1,
не так, если одинаковые, то вернется 0 (значение i, которое будет = 0), т.е. ф-ция не работает, как было задуманно.

Добавлено через 34 секунды

Не по теме:

опоздал, блин



Добавлено через 59 секунд
xGamer, интуиция мне подсказывает, что ф-ция должна работать, как grrrrr сказал.
1
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
20.12.2010, 16:13  [ТС] 6
в учебнике так оО
Как вызвать приведенную функцию

нужно сделать вызов функции и объяснить как работает программа
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
20.12.2010, 16:25 7
xGamer, не завидую я вам, по таким учебникам учится...
Эту ф-цию можно использовать для сравнения строк, но в таком случае ее можно сократить до такого вида:
C
1
2
3
4
5
6
int F9(char c1[],char c2[]){ 
int i;
for (i=0; c1[i] !='\0'; i++)
   if (c1[i] != c2[i]) return -1;
return 0;
}
2
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
20.12.2010, 16:27  [ТС] 8
эм.значит всё таки опечатся в учебнике?
а сделанная вами функция будет тупо сравнивать строки?.равны не равны?
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
20.12.2010, 16:29 9
Цитата Сообщение от xGamer Посмотреть сообщение
значит всё таки опечатся в учебнике?
Это не опечатка, это называется "быдлокод")))

Цитата Сообщение от xGamer Посмотреть сообщение
сделанная вами функция будет тупо сравнивать строки?.равны не равны?
да, если равны - вернется 0, если не равны, то -1.
2
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
20.12.2010, 16:32  [ТС] 10
Эх.спасибо вам большое
пойду на второй раз штудировать подбельского -_-
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
20.12.2010, 16:42 11

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Это не опечатка, это называется "быдлокод")))
что-то сижу - смотрю на ф-цию и уже сомневаюсь в том, что написал. Сейчас разберусь...



Добавлено через 10 минут
xGamer, извеняюсь, что-то я нафлудил тут не того
Эта ф-ция ищет индекс вхождения второй строки в первую. Елси строки равны - вернется 0, если вторая строка не входит в первую - вернется -1, если вторя строка короче первой и она входит в первую, то вернется индекс (номер символа в первой строки, от которого начинается вторая строка)

просто я бы это совершенно по другому написал, еще наверное сегодня звезды так встали, я затупил)))
Сори...
1
20.12.2010, 16:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2010, 16:42
Помогаю со студенческими работами здесь

Как вызвать функцию в главной функции main?
как вызвать ету функцию в главной функции main? int sum(int n, int arr, int trans, int summa)...

Как правильно вызвать функцию, в которую передаётся указатель на структуру?
#define _CRT_SECURE_NO_WARNINGS #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt;...

Как вызвать функцию для выполнение всех операций в main?
Уважаемые знатоки языка Си. Помогите пожалуйста. Подскажите как в данном коде можно вызвать функцию...

Как правильно вставить (вызвать) функцию для подсчета количества единиц в двоичной записи числа
Как же мне вызвать функцию bits1, что посчитать кол-во единиц переменной sym.p , который находится...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru