Страница 5 из 6

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 08:52
FreemanNow
Инженер писал(а):Задача 6

....
В коде нужно убрать лишнее, т.к. не выполняется условие поставленной задачи.
кстати, а что именно "не выполняется" ??

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 08:59
Инженер
FreemanNow писал(а): а с точки зрения простой логики он и так отсортируется как наименьшее значение в массиве и ставить дополнительное условие нет ни малейшего смысла.
Это понятно, хотя не факт, т.к. рандомные значения могут быть "1 1 1 1 ... 1".
FreemanNow писал(а):кстати, а что именно "не выполняется" ??
Нужно найти номер квартиры, где живёт максимальное количество членов семьи. В результате вывода данного кода, отброшены 4 квартиры, лишь из-за доп.условия в коде программы ("при одинаковом количестве человек наибольшей выбирается семья в следующей квартире"). Это неправильно. Если есть одинаковое кол-во людей, то вывод должен быть множественный, т.е. несколько квартир.

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 09:05
FreemanNow
Инженер, из условия задачи этого вовсе не следует, скорей, наоборот, требуется только одно значение. Но, как вариант, можно вывести и все максимальные, только для этого нужно будет не "убрать лишнее" из кода, а наоборот, дополнить его еще одним циклом.

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 09:10
Инженер
FreemanNow, представь реальную ситуацию. Закончил человек МЭИ, пошёл работать в АГГС. Там ему дали задание разработать подобный алгоритм, с целью найти в доме самую многочисленную семью, чтобы вручить ей подарок от администрации города. В результате неверного вывода программы, была забыта одна из семей, которая очень обиделась на АГГС и на соседей по дому и подала многомиллионый иск, с целью восстановить справедливость. Вот такие вот пирожки :-))

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 09:17
FreemanNow
Инженер, ты считаешь эту ситуацию реальной ??? И какие же шансы этот иск выиграть ? :-))

Но это все лирика. Виноват будет не программист, а постановщик задачи которая в этом случае должна была быть сформулирована как "вывести все номера квартир с максимальным количеством жильцов" и никак иначе )

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 09:43
Инженер
Про реальную ситуацию я пошутил, хотя всякое бывает :hi_hi_hi:

А задача должна выполняться либо с поставленным условием, либо не выполняться вовсе. Неверный (в том числе неполный) результат недопустим.

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 14:27
Storm
Инженер писал(а):А задача должна выполняться либо с поставленным условием, либо не выполняться вовсе. Неверный (в том числе неполный) результат недопустим.
Не, тут нужно внимательно читать задание. Номер квартиры, а не номера квартир. Т.е. решение - любой из номеров с наибольшим числом, причем он не обязательно повторяется при одинаковых начальных условиях.
Ты мне скажи лучше, почему специальное поле не вводишь "семья" с уникальным индентификатором для одной семьи. А то в твоем конкурсе приз получат 40 прописанных таджиков :)

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 19:38
TheBest
Инженер, Старшекурсник или преподаёшь? :)
Задачи идеологически просты, на тему "массивы". К чему придумывать ненужное и впихивать невпихуемое?
Если ничего не поменялось, то это для первого курса Энергета, возможно для заочника. Так что вариант решения прекрасно подойдёт.
Иначе я бы 100500 раз вернул эту задачу постановщику задачи. В конце концов, нужно же учесть процентное отношение семей с 2 членами к семьям с 9 членами.
Только вот в Смоленском регионе или среднее по стране? За какой год? Выше 5 человек уведомлять государственные органы, вдруг в квартире гастарбайтеры-нелегалы.

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 19:53
mamrot
TheBest, на самом деле было б интересно препода потроллить, вернуть задачу с формулировкой ТЗ некорректно :-)) мало преподователей, кто оценит шутку юмора и подправит условие ;;-)))

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 20:15
TheBest
mamrot, В мою бытность на кафедре ВТ мне на таких преподавателей везло. :)

Re: Решение задачек на Turbo Pascal

Добавлено: 09 фев 2016, 21:05
Storm
на самом деле было б интересно препода потроллить, вернуть задачу с формулировкой ТЗ некорректно
Что некорректного то?

Re: Решение задачек на Turbo Pascal

Добавлено: 10 фев 2016, 13:10
Инженер
Для полной корректности задание требует уточнение.

Например, тот же дом может быть простой избой, без квартир. В задании же не указано, что дом многоквартиный, там просто написано, что в доме проживает столько-то семей, без подробностей. Как тогда формировать вывод того, что не существует (нет квартиры)?!

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 10:48
WickedW00LF
Граждане, снова помощь требуется.
Изображение

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 12:00
John Prick

Код: Выделить всё

program prog1;

uses crt;

const N = 5;

var
   i, j : integer;
   x, avg, sum : real;

begin
     clrscr;
     sum := 0;
     for i := 1 to N do
     begin
          readln(x);
          sum := sum + x;
          avg := sum / i;
          writeln(avg);
     end
end.

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 13:10
WickedW00LF
От души! :co_ol:

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 13:14
WickedW00LF
Изображение

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 13:15
mamrot
John Prick, убиваешь конкурентов?

Re: Решение задачек на Turbo Pascal

Добавлено: 09 июн 2016, 14:09
John Prick
mamrot, да не, просто скучно..

Re: Решение задачек на Turbo Pascal

Добавлено: 13 июн 2016, 12:00
Dejmos
На каком хоть курсе такие задачки даются то?

P.S.
Изображение

Re: Решение задачек на Turbo Pascal

Добавлено: 14 июн 2016, 08:51
WickedW00LF
2 курс
Кстати, за первое задание 4 поставили )

Решение задач на Turbo Pascal

Добавлено: 15 июн 2016, 04:08
Начертательная
Хренью какой-то занялись. Учебные задачи на Turbo Pascal никогда не будут моделировать реальные проекты.

Re: Решение задачек на Turbo Pascal

Добавлено: 22 июн 2016, 12:52
Grum_
WickedW00LF писал(а):2 курс
Кстати, за первое задание 4 поставили )
Переменная j лишняя, константу тоже можно не объявлять

Re: Решение задачек на Turbo Pascal

Добавлено: 06 июл 2016, 10:18
Академик Иосиф
Начертательная писал(а):Хренью какой-то занялись. Учебные задачи никогда не будут моделировать реальные проекты.
Они и не должны. Они другое развивают. Именно на таких задачах я и стал сверх программистом :-)

Re: Решение задачек на Turbo Pascal

Добавлено: 07 июл 2016, 07:59
Начертательная
Академик Иосиф писал(а):я и стал сверх программистом :-)
Слова не мальчика, но ТП :chir_lider:

Re: Решение задачек на Turbo Pascal

Добавлено: 07 июл 2016, 15:49
Академик Иосиф
Начертательная писал(а):Слова не мальчика, но ТП :chir_lider:
:chir_lider: :chir_lider:

Re: Решение задачек на Turbo Pascal

Добавлено: 08 июл 2016, 09:58
WickedW00LF
Академик Иосиф писал(а):
Начертательная писал(а):Хренью какой-то занялись. Учебные задачи никогда не будут моделировать реальные проекты.
Они и не должны. Они другое развивают. Именно на таких задачах я и стал сверх программистом :-)
А че не помогаешь тогда?!

Re: Решение задачек на Turbo Pascal

Добавлено: 13 июл 2016, 13:54
Академик Иосиф
только сейчас тему нашел :nez-nayu:

Re: Решение задачек на Turbo Pascal

Добавлено: 15 июл 2016, 10:02
WickedW00LF
Академик Иосиф писал(а):только сейчас тему нашел :nez-nayu:
Изображение

Re: Решение задачек на Turbo Pascal

Добавлено: 15 июл 2016, 11:03
John Prick
Фтопку этот паскаль. Кресты наше всё.

Код: Выделить всё

#include <iostream>
#include <algorithm>
#include <iterator>

class backward_alphabet_generator
{
public:
	backward_alphabet_generator() : m_letter('Z') {}
	char operator()()
	{
		return m_letter--;
	}
private:
	char m_letter;
};

int main()
{
	const int N = 26;
	char alphabet[N];

	std::generate(alphabet, alphabet + N, backward_alphabet_generator());
	std::copy(alphabet, alphabet + N, std::ostream_iterator<char>(std::cout, " "));

	std::cin.get();
	return 0;
}

Re: Решение задачек на Turbo Pascal

Добавлено: 18 июл 2016, 11:06
Академик Иосиф

Код: Выделить всё

program alfavit;
uses crt;
var
   a: array [1..25] of char;
   i: integer;
begin
   clrscr;
   for i:= 1 to 26 do begin
     a[i]:= char(91-i);
     write(a[i]);
   end;
   readln;
end.