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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2011, 13:46   #1
niport
 
Регистрация: 04.09.2011
Сообщений: 4
По умолчанию из четырех чисел a1,a2,a3,a4 одно отлично от трёх других, равных между собой (Pascal)

Всем доброго времени суток. Вот поступил я на 1-ый курс Системного Программирования, и вот уже дают простенькие задачки, которые я так и не могу понять как решать (некоторые конечно понимаю). Вот условие задачи, можете объяснить как действовать и что делать с ней? Я просто не могу понять, что от меня хотят Pascal.

Известно, что из четырех чисел a1,a2,a3,a4 одно отлично от трёх других, равных между собой; присвоить номер этого числа переменной n.

______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 04.09.2011 в 15:15.
niport вне форума Ответить с цитированием
Старый 04.09.2011, 14:10   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от niport Посмотреть сообщение
Я просто не могу понять, что от меня хотят...
Пример 1

5 5 33 5

На каком месте 33? Правильно, на третьем. Значит, n=3.


Пример 2

128 128 128 -500

На каком месте -500? Правильно, на 4-м. Значит, n=4.


Теперь желание авторов задачи прояснилось?

(Вообще, странно, что 1-й курс — а не 1-й... класс!)

Последний раз редактировалось Sasha_Smirnov; 04.09.2011 в 14:12.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.09.2011, 15:13   #3
niport
 
Регистрация: 04.09.2011
Сообщений: 4
По умолчанию

Ага спасибо!
Вот так правильно решать?
Код:
uses crt;
var a1,a2,a3,a4:integer;
    n: integer;
begin
     writeln ('Введите 4-е числа 3 из них должны быть одинкаковыми');
     readln (a1,a2,a3,a4);
     if a1<>a2 then n:=1;
     if a2<>a3 then n:=2;
     if a3<>a4 then n:=3;
     if a4<>a1 then n:=4;
     writeln (n,' число отличное от других')
end.
Или может быть есть другие способы решения, не судите строго, до этого валял дурака в школе, в институте почему то решил учиться, читаю книжки, но вот действительно многое не понятно


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 04.09.2011 в 15:16.
niport вне форума Ответить с цитированием
Старый 04.09.2011, 15:27   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

идея решения у Вас красивая.
Жаль, что данный вариант не всегда правильно работает.
попробуйте первое число ввести отличное от других.
Получите ответ, что n=4

если решать задачу "в лоб"
то я бы написал так:
Код:
uses crt;
var a1, a2, a3, a4: integer;
  n: integer;
begin
  writeln('Введите 4-е числа (три из них должны быть одинаковыми)');
  readln(a1, a2, a3, a4);
  if (a1 <> a2) and (a1 <> a3) and (a1 <> a4) then n := 1;
  if (a2 <> a1) and (a2 <> a3) and (a2 <> a4) then n := 2;
  if (a3 <> a1) and (a3 <> a2) and (a3 <> a4) then n := 3;
  if (a4 <> a1) and (a4 <> a2) and (a4 <> a3) then n := 4;
  Writeln(n, ' число отличное от других');
  Readln;
end.

а, может быть, от Вас ждут такого решения:
Код:
  readln(a1, a2, a3, a4);
  if (a1<>a2) then begin
    if (a2=a3) then n:=1
    else n:=2;
  end
  else
    if (a1=a4) then n := 3
    else n := 4;
  Writeln(n, ' число отличное от других');

Последний раз редактировалось Serge_Bliznykov; 04.09.2011 в 15:30.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.09.2011, 15:32   #5
niport
 
Регистрация: 04.09.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
идея решения у Вас красивая.
Жаль, что данный вариант не всегда правильно работает.
попробуйте первое число ввести отличное от других.
Получите ответ, что n=4

если решать задачу "в лоб"
то я бы написал так:
Код:
uses crt;
var a1, a2, a3, a4: integer;
  n: integer;
begin
  writeln('Введите 4-е числа (три из них должны быть одинаковыми)');
  readln(a1, a2, a3, a4);
  if (a1 <> a2) and (a1 <> a3) and (a1 <> a4) then n := 1;
  if (a2 <> a1) and (a2 <> a3) and (a2 <> a4) then n := 2;
  if (a3 <> a1) and (a3 <> a2) and (a3 <> a4) then n := 3;
  if (a4 <> a1) and (a4 <> a2) and (a4 <> a3) then n := 4;
  Writeln(n, ' число отличное от других');
  Readln;
end.

а, может быть, от Вас ждут такого решения:
Код:
  readln(a1, a2, a3, a4);
  if (a1<>a2) then begin
    if (a2=a3) then n:=1
    else n:=2;
  end
  else
    if (a1=a4) then n := 3
    else n := 4;
  Writeln(n, ' число отличное от других');
Спасибо! Это то что надо!
niport вне форума Ответить с цитированием
Старый 04.09.2011, 15:41   #6
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Общность алгоритма

Я бы ждал общего решения: найти номер n элемента, неравного всем остальным элементам (которые равны*).

Думаю всё-таки, что вам это дали «на разогрев» — так, вспомнить детский сад и кубики.

Шутки шутками, а для программы важен охват множества аналогичных задач.
_________________________
* и по-честному, это следовало бы проверить
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.09.2011, 16:51   #7
niport
 
Регистрация: 04.09.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Я бы ждал общего решения: найти номер n элемента, неравного всем остальным элементам (которые равны*).

Думаю всё-таки, что вам это дали «на разогрев» — так, вспомнить детский сад и кубики.

Шутки шутками, а для программы важен охват множества аналогичных задач.
_________________________
* и по-честному, это следовало бы проверить
Для человека который никогда не сталкивался с программированием (паскалем) и прочтенный 4-ех часовой курс за который пытались дать информации на пол года (заочно) не легко понять даже такую простую задачу
niport вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как связать данные столбцов между собой Алексндр Microsoft Office Excel 4 17.07.2012 09:36
связь пользователей между собой на сайте строгийЁЖ PHP 5 05.08.2011 11:22
связать несколько компонентов dblookupcomboboxeh между собой. D.O.G БД в Delphi 0 20.08.2010 14:27
Как залинковать фильтры нескольких пивотов между собой? kykynja Microsoft Office Excel 0 15.01.2010 01:01
Как сравнить элементы 2 массивов между собой? DragonionS Общие вопросы Delphi 1 01.07.2007 21:49