2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение07.04.2012, 17:39 
Заслуженный участник


11/05/08
32166
Joker_vD в сообщении #557487 писал(а):
с не более чем двумя элементами,

Да нет, с ровно двумя, иначе фигурные скобки лишены смысла. Оттого и тавтология.

Впрочем, фигня все эти формальности. Главное -- что само понятие "количества равных элементов" лишено смысла. Что, зачем, когда, чему равно?...

(кстати, в стартовом посте условие задачи было сформулировано вполне аккуратно -- там требовалось подсчитать именно различные элементы)

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 08:37 


24/05/09

2054
код: [ скачать ] [ спрятать ]
Используется синтаксис C++
int massiv[MAX];
int Cx;
int flag;

for (int i = 0; i < MAX; i++)
 {
  flag = 0;
  for (int j = 0; j < MAX; j++)
   {
    if (i == j) continue;
    if (massiv[i] == massiv[j]) {flag = 1; break;}
   }

   if (flag == 0) {Cx++; printf (" %u", massiv[i];}
 }
 




Это если только вывести на экран неповторяющиеся числа и подсчитать их количество.

Если требуется считать количество повторов - просто так не получица. Нужно вводить ещё массив, в котором помечать уже найденные повторяющиеся числа, чтобы не считать их по нескольку раз.

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 08:42 
Заслуженный участник


11/05/08
32166
Alexu007 в сообщении #557789 писал(а):
Нужно вводить ещё массив, в котором помечать уже найденные повторяющиеся числа,

Не нужно. Достаточно одного массива, в который заносятся все поступающие числа; и даже не все, а лишь уникальные.

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 09:17 


24/05/09

2054
Ну допустим у вас последовательность 12, 13, 14, 15, 16, 13, 17

Мы проверяем число 13 на второй позиции и естественно находим совпадение с 6-м числом. Что будет, когда будем проверять 13 на шестой позиции? Если мы проверяем с начала - ещё раз посчитаем совпадение с "вторым" 13, а если не с начала - то мы вообще не найдём совпадения и будем считать 13 единственным.

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 11:28 
Заслуженный участник


11/05/08
32166
Alexu007 в сообщении #557800 писал(а):
Мы проверяем число 13 на второй позиции и естественно находим совпадение с 6-м числом.

Не находим, читайте внимательнее:

ewert в сообщении #557390 писал(а):
Используется синтаксис Pascal
num:=0;
for i := 1 to n do begin
    findeq:=false;
    for j := 1 to i-1 do begin
        findeq:=( f[i] = f[j]);
        if findeq then break;
    end;
    if not findeq then begin
        inc(num);
        writeln(f[i]);
    end;
end;

А ещё лучше, конечно, так:

Используется синтаксис Pascal
num:=0;
for i := 1 to n do begin
    readln(x);
    findeq:=false;
    for j := 1 to i-1 do begin
        findeq:=(f[i] = x);
        if findeq then break;
    end;
    if not findeq then begin
        inc(num);
        f[num]:=x;
        writeln(x);
    end;
end;

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 12:40 


24/05/09

2054
Вы правы. Хороший цикл, 1-й элемент не сравнивается ни с чем, 2-й с 1-м, 3-й с 2-м и 1-м и так далее. Нужно запомнить, может пригодится когда...

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 18:51 
Заслуженный участник


27/04/09
28128
Alexu007 в сообщении #557883 писал(а):
Хороший цикл, 1-й элемент не сравнивается ни с чем, 2-й с 1-м, 3-й с 2-м и 1-м и так далее. Нужно запомнить, может пригодится когда...
Удивительно. Такие циклы конструируются на ура при надобности, вы никогда таких не видели? :shock:

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 20:11 
Заслуженный участник


11/05/08
32166
ewert в сообщении #557842 писал(а):
Используется синтаксис Pascal
num:=0;
for i := 1 to n do begin
    readln(x);
    findeq:=false;
    for j := 1 to i-1 do begin
        findeq:=(f[i] = x);
        if findeq then break;
    end;
    if not findeq then begin
        inc(num);
        f[num]:=x;
        writeln(x);
    end;
end;

Упс, пардон, зазивалси. Правильная версия:

Используется синтаксис Pascal
num:=0;
for i := 1 to n do begin
    readln(x);
    findeq:=false;
    for j := 1 to num do begin
        findeq:=(f[i] = x);
        if findeq then break;
    end;
    if not findeq then begin
        inc(num);
        f[num]:=x;
        writeln(x);
    end;
end;
[/quote]

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 22:02 
Заслуженный участник


09/09/10
3729

(Оффтоп)

ewert в сообщении #557540 писал(а):
Да нет, с ровно двумя, иначе фигурные скобки лишены смысла.

Т.е. когда пишут $\{a,b\}$, это явно подразумевает $a\ne b$? Хорошо, я запомню, спасибо.

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 22:14 
Заслуженный участник


11/05/08
32166

(Оффтоп)

Joker_vD в сообщении #558141 писал(а):
Т.е. когда пишут $\{a,b\}$, это явно подразумевает $a\ne b$? Хорошо, я запомню, спасибо.

нет, не надо ничего запоминать, я и сам никаких правил не помню. Просто я не понимаю, как бы это могло иначе интерпретироваться.

 Профиль  
                  
 
 Re: Подсчетивывод неравных элементов числовой последовательности
Сообщение08.04.2012, 23:02 
Заслуженный участник


27/04/09
28128
Ну, когда $a = b$, $\{a, b\} = \{a, a\} \equiv \{a\}$. Возможность записи вида $\{a, a, a, a, a, a\}$ и полезна в некоторых случаях, и просто вытекает из определения записи $x \in \{a_1, \ldots, a_n\} :\Leftrightarrow x = a_1 \vee \ldots \vee x = a_n$ для $n \in \mathbb N$.

Скорее всего, я вас не так понял.

-- Пн апр 09, 2012 02:04:04 --

Ну, там ведь, правда, другое определение, в ZF использующее аксиомы одноэлементного множества и объединения. Вроде их. Но смысл такой же, и запись такая становится корректной по тем же причинам.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group