Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Правильно ли решена задача на С++ / 4 сообщений из 4, страница 1 из 1
13.04.2013, 12:28
    #38224315
gera3323
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли решена задача на С++
Условие:

Сажаем картошку». Весной Петя Торопыжкин помогал бабушке в деревне сажать картошку. Картофельное поле состоит из n рядов, в каждом из которых выкопано m лунок. В каждую лунку нужно посадить по одной картофелине. В один мешок входит k картофелин. Сколько мешков понадобится для засева бабушкиного поля? (Мешки можно покупать только целиком!)
Формат ввода: В единственной строке записаны целые числа n, m и k, разделённые пробелами (1 <= n, m <= 150, 1 <= k <= 10 000).
Формат вывода: Выведите единственное целое число – количество мешков картошки, которое надо купить.
Пример:
input.txt output.txt
1 1 2 1

Код: 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.
#include<iostream>
#include<fstream>
#include<locale>

   using namespace std;

#define SIZE_BUFFER     15 

#define n             array_value[0]         
#define m             array_value[1]
#define k             array_value[2]

int main()
{
	setlocale(LC_ALL,"russian");

	ifstream i_file("C:\\input.txt");
	ofstream o_file("C:\\output.txt");

	if(!i_file.is_open())
	{
		cerr<<"Файл input.txt не найден\n";
		
		   system("pause");

		return 0;
	}

	char* str_value = new char[SIZE_BUFFER];
	char* tmp;

	int array_value[3] = {0}; 
	int index = 0;

		i_file.getline(str_value,SIZE_BUFFER,'\n');

		tmp = strtok(str_value," ");

		   while(tmp != NULL)
		   {
			   array_value[index++] = atoi(tmp);
			   tmp = strtok(NULL," ");
		   }

		   cout<<"n = "<<n<<"\nm = "<<m<<"\nk = "<<k<<endl;

		   if(!(n >= 1 && m <= 150 && (k >= 1 || k <= 10000)))
		   {
                               cout<<"Условиe не выполняeтся:\n1 <= n,\nm <= 150, \n1 <= k <= 10 000\n";
			   
			       system("pause");

			   return 0;
		   }

		   int result = (n*m % k == 0) ? n*m / k : n*m / k + 1;

		   o_file<<result;

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

		   cin.get();

	return 0;
}
...
Рейтинг: 0 / 0
13.04.2013, 13:51
    #38224351
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли решена задача на С++
Задача по определению решена правильно если в ответ на тестовые данные даёт нужный ответ.
Так что просто запусти и проверь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.04.2013, 14:09
    #38224902
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли решена задача на С++
Стилистически много нареканий.

#define SIZE_BUFFER 15
#define n array_value[0]

вот это что за хачки такие ?

array_value зачем вообще нужно -- не понятно.


SIZE_BUFFER -- зачем как-то ограничивать размер буфера в век научно-технического прогресса -- тоже не понятно.
...
Рейтинг: 0 / 0
16.04.2013, 22:45
    #38228302
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно ли решена задача на С++
MasterZiv
SIZE_BUFFER -- зачем как-то ограничивать размер буфера в век научно-технического прогресса -- тоже не понятно.

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


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