Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Задача по программированию. Где ошибка ? / 9 сообщений из 9, страница 1 из 1
20.11.2019, 08:39
    #39891431
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
https://acmp.ru/index.asp?main=task&id_task=691

Код: 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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

//#define DEVELOPER

#ifdef DEVELOPER 
 #define R_PATH "C:\\input.txt"
 #define W_PATH "C:\\output.txt"
 #define out cout
 #define in i_file
#else 
 #define R_PATH "input.txt"
 #define W_PATH "output.txt"
 #define in i_file
 #define out o_file
#endif

char *alpha = "ABCEHKMOPTXY0123456789";
const int len_number = 7;

bool check(char *str)
{
   char pattern[ sizeof "CDDDCC" ] = {'\0'};

   for(int i = 0, l = strlen(str), j = 0; i < l && i < len_number; i++)
   {
	   if(strchr(alpha, str[i]) > 0)
	   {
		  if(isalpha(str[i]) > 0) 
		  {
             pattern[j] = 'C';
		  }

		  if(isdigit(str[i]) > 0) 
		  {
		     pattern[j] = 'D';
		  }

		  j++;
	   }
   }

   return strcmp(pattern, "CDDDCC") == 0;
}

int main(void)
{
  ifstream i_file(R_PATH);
  ofstream o_file(W_PATH);

  char buffer[10];

  int k = 0;
  i_file>>k;

  for(int i = 1; i <= k; i++)
  {
     i_file>>buffer;

	 if(check(buffer))
	 {
		 out<<"Yes";
	 }
	 else
	 {
		 out<<"No";
	 } 
  }

  i_file.close();
  o_file.close();

#ifdef DEVELOPER
 return cin.get();
#else
 return 0;
#endif

}



Не принимает ее система. Что не так ?
...
Рейтинг: 0 / 0
20.11.2019, 08:50
    #39891433
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
gera3323
Не принимает ее система. Что не так ?

Алгоритм с ошибками.
...
Рейтинг: 0 / 0
20.11.2019, 08:56
    #39891436
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
авторДлины строк от 1 до 300
Где ты учел это условие?
...
Рейтинг: 0 / 0
20.11.2019, 08:58
    #39891437
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
Dima T,

Нигде )
...
Рейтинг: 0 / 0
20.11.2019, 09:00
    #39891438
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
Dima T,

Есть длина по номеру. Разве этого не достаточно ?
...
Рейтинг: 0 / 0
20.11.2019, 09:01
    #39891439
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
Dima T,
Если строка не равна шаблону
CDDDCC, то будет false. Тут нет разницы как длина строки
...
Рейтинг: 0 / 0
20.11.2019, 09:05
    #39891441
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
gera3323
Dima T,

Есть длина по номеру. Разве этого не достаточно ?

Что такое "Переполнение буфера" знаешь?
...
Рейтинг: 0 / 0
20.11.2019, 09:07
    #39891442
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
Dima T,

Да знаю, сейчас переделаю.
...
Рейтинг: 0 / 0
20.11.2019, 09:09
    #39891444
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача по программированию. Где ошибка ?
Проверка у тебя не всегда правильно срабатывает, придумай неправильную входную строку на которой будет Yes.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Задача по программированию. Где ошибка ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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