powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Буфер
13 сообщений из 13, страница 1 из 1
Буфер
    #32953556
regromus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написать функцию char*find
1.из входного потока читает литеру за литерой пока не встретит не цифру или конец файла.
2.если считанная литера - цифра то она помещается в очередную позицию буфера строки .Если это не цифра , то сторока дополняется символом "\0" а литера остается в буфере buf_lit. Если буфер исчерпан а на входе цифра то чтение продолжается пока не встретиться цифра но литера в буфер не заносится.

Объясните пжлст задание (желателен код), за любую помощь буду благодарен. Особенно непонятно что тут имеется ввиду под буфером строки.

THX.
...
Рейтинг: 0 / 0
Буфер
    #32953971
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
нифига не понял. Особливо вот это
авторЕсли буфер исчерпан а на входе цифра то чтение продолжается пока не встретиться цифра но литера в буфер не заносится.
...
Рейтинг: 0 / 0
Буфер
    #32954914
regromus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это у вас на форуме такие ответы на вопросы:

вопрос:Объясние задание
ответ:нифига не понял

Ламы хватит рейтинг повышать таким способом!!!
...
Рейтинг: 0 / 0
Буфер
    #32954970
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
быд бы модератором - забанил бы :-)
...
Рейтинг: 0 / 0
Буфер
    #32956146
regromus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валяйте
...
Рейтинг: 0 / 0
Буфер
    #32956398
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
regromusВаляйте

Ну вот -- обиделся
...
Рейтинг: 0 / 0
Буфер
    #32956685
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и пусть что обиделся, если чел не понимает задания
авторОбъясните пжлст задание (желателен код)
и при этом обзывается
авторамы хватит рейтинг повышать таким способом!!!
то дорога ему известна...
а чего цацкаться?
...
Рейтинг: 0 / 0
Буфер
    #32956687
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жалко модера нет
...
Рейтинг: 0 / 0
Буфер
    #32956859
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
regromusнаписать функцию char*find
1.из входного потока читает литеру за литерой пока не встретит не цифру или конец файла.
2.если считанная литера - цифра то она помещается в очередную позицию буфера строки .Если это не цифра , то сторока дополняется символом "\0" а литера остается в буфере buf_lit. Если буфер исчерпан а на входе цифра то чтение продолжается пока не встретиться цифра но литера в буфер не заносится.

Объясните пжлст задание (желателен код), за любую помощь буду благодарен. Особенно непонятно что тут имеется ввиду под буфером строки.
насколько я понял составляются 2 массива:
1) цифры и '\0' (buf_num)
2) не цифры (buf_lit)
допустим размер масива литер 3 и на входе такая последовательность
2a3s4d5555f
то получим следующее:
buf_num = '2\03\045555'
buf_lit = 'asd'
на f все закончится, т.к. буфер литер заполнен и f не есть цифра
...
Рейтинг: 0 / 0
Буфер
    #32957000
regromus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо miniСЛОН.
Вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
char * buf_num[ 256 ];
char * buf_lit[ 256 ];
int i= 0 ,m,b= 1 ;
int k= 0 ;
int buf;
char * j;
char * find_const()
{
 FILE*in;
 in=fopen("c:\input.txt","r");
 if(in==NULL)
  {
   printf ("error in opening of the file");
   return  0 ;
  }
 else
 while ((j=fgetc(in))!='\n')
 {
  if (isdigit(*(j+b)))
   {
     buf_num[i]=&j[b];i++;b++;
   }
  else
  {
     *(buf_num[i])='\0';i++;
     if (k<buf)
   {
       buf_lit[k]=&j[b];
       k++;
       b++;
   }
  }
 }
}
int main()
{
 clrscr();
 printf("enter value of buffer buf_lit");
 scanf("%d",&buf);
 find_const();
 printf("values of buf_lit:\n");
 for(m= [b]0 ;m<k;m++)
 printf("%c\n",*buf_lit[m]);
 printf("values of buf_lit:\n");
 for(m= 0 ;m<i;m++)
 printf("%c\n",*buf_num[m]);
 getch();
}

Теперь ,кто может, объясните пжлста вот это:

После чтения, содержимое буфера buf_num копируется в оперативную память и адрес начала строки возвращается ф-ей.Если память не может быть выделена, то ф-я возвращает NULL.

За любую помощь буду благодарен.
...
Рейтинг: 0 / 0
Буфер
    #32957159
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я бы все же написал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
#include <stdio.h>
#include <ctype.h>
#include <conio.h>

char* find_const(int buf)
{
	int i, k, b;
	char *j;
	char buf_num[ 256 ];
	char buf_lit[ 256 ];
	char *buf_num_return;
	
	FILE *in;
	in=fopen("c:\input.txt","r");
	if(in == NULL) {
		printf ("error in opening of the file");
		return NULL;
	}
	while ((j = fgetc(in)) != EOF) {
		if (isdigit(*(j+b))) {
			buf_num[i] = j[b];
			i++;	b++;
		} else {
			*(buf_num[i]) = '\0';
			i++;
			if (k < buf) {
				buf_lit[k] = j[b];
				k++;	b++;
			}
		}
	}
	fclose(in);
	buf_num_return = (char*)calloc(buf+ [b]1 , sizeof(char));
	if(buf_num_return != NULL)
		strncpy(buf_num_return, buf_num,  3 *sizeof(char));
		
	return buf_num_return;
}

int main()
{
	int m, i;
	int buf;
	char *buf_num;
	
	clrscr();
	printf("enter value of buffer buf_lit");
	scanf("%d", &buf);
	buf_num = find_const(buf);
	if(buf_num == NULL) {
		printf("find_const() returned NULL\n");
		exit( 1 );
	}
	printf("values of buf_num:\n");
	for(m =  0 ; m < i; m++)
		printf("%c\n", *buf_num[m]);
	free(buf_num);
	getch();
}

regromusТеперь ,кто может, объясните пжлста вот это:
После чтения, содержимое буфера buf_num копируется в оперативную память и адрес начала строки возвращается ф-ей.Если память не может быть выделена, то ф-я возвращает NULL.
последние 3 строки в find_const(int)

ps: на правильность кода не претендую, правил с notepad++, не компилял
...
Рейтинг: 0 / 0
Буфер
    #32957508
regromus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо miniСЛОН
...
Рейтинг: 0 / 0
Буфер
    #32980147
MagZzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите мне!! У меня похожая задача.
Очень нужно переделать !!

Написать функцию char*find–idt()
1.помещает в string[] содержимое буфера литеры buf-lit;
2.из входного потока читает литеру за литерой пока не встретит не букву и не цифру или конец файла. 3. считанную литеру помещает в очередную позицию буфера строки, если она цифра или буква. Если наступило окончание чтения литеры , то конец строки дополняется символом "\0" а литера остается в буфере buf_lit. Если буфер исчерпан, но на входе буква или цифра , то чтение продолжается без заполнения буфера строки.
4.после чтения, содержимое буфера (buf_num) копируется в оперативную память и адрес начала строки возвращается функцией. Если память не может быть выделена, то функция возвращает NULL.

За любую информацию буду очень благодарен!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Буфер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]