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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 18:17   #1
warder
 
Регистрация: 12.04.2008
Сообщений: 8
По умолчанию Функции пользователя

Вот задание: Функция выделяет из заданной строки подстроку заданной длины, начиная с заданной позиции.

вот что я смог написать:

Код:
#include <stdio.h>
#include <string.h>
int substr(char *, char *, int, int);
int main(void) {
char s1[80],s2[80];
int n, l, r;
for (;;) {

printf("Введите строку >");
if (!strcmp(gets(s1),"*")) break;
printf("Введите pos len>");
scanf("%d %d",&n,&l);
r=substr(s1,s2,n,l);
printf("pos=%d, len=%dn",n,l);
printf("s1=>>%s<<n",s1);
printf("s2=>>%s<<n",s2);
printf("R=%dnn",r);
gets(s1);
}

}
int substr(char *src, char *dest, int pos, int len) {
int ret;
for(; pos&&src; pos--, src++);
if (pos||(len<0)) ret=-1;
else {

for(;len&&src; dest++=src++,len--);
ret = len ? 1 : 0;
}

*dest=0;
return ret;
}
кто поможет с ошибками?
warder вне форума Ответить с цитированием
Старый 30.11.2010, 18:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если так?:
Код:
// sdfsdf.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

void instr(char* s,char* sto,int x,int len){
	int i;
	for(i=0;(s[x]!=0)&&(i<len);x++,i++){sto[i]=s[x];}
	sto[i]=0;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char s[]="hello world";
	char a[100];
	instr(s,a,2,4);
	printf("%s",a);getchar();
	return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.11.2010, 18:53   #3
warder
 
Регистрация: 12.04.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А если так?:
Код:
// sdfsdf.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

void instr(char* s,char* sto,int x,int len){
	int i;
	for(i=0;(s[x]!=0)&&(i<len);x++,i++){sto[i]=s[x];}
	sto[i]=0;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char s[]="hello world";
	char a[100];
	instr(s,a,2,4);
	printf("%s",a);getchar();
	return 0;
}
мог бы ты указать конкретно на ошибки?
warder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание функции пользователя в приложении MS Excel vinni_puh88 Microsoft Office Excel 2 10.11.2010 17:06
Smarty и функции пользователя regman PHP 3 13.01.2010 17:12
Процедуры и функции пользователя в Паскале Alex1991 Помощь студентам 8 02.12.2008 13:11
Программа на VBA в виде функции пользователя Strel'nikova Помощь студентам 3 31.10.2008 13:53
Удаление пользователя треч О форуме и сайтах клуба 4 26.05.2008 21:38