Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 18.01.2018, 12:16   #1
sohibnut
Пользователь
 
Аватар для sohibnut
 
Регистрация: 15.01.2018
Адрес: bukhara
Сообщений: 18
Репутация: 10
По умолчанию pascalABC.NET. Как можно узнать количество элементов в множестве ( БЕЗ foreach ) ?

как можно узнать количество элементов в множестве?
БЕЗ foreach
pascalABC.NET
за рано спасибо!
только быстрее!
__________________

Последний раз редактировалось sohibnut; 18.01.2018 в 12:38.
sohibnut вне форума   Ответить с цитированием
Старый 18.01.2018, 12:50   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,028
Репутация: 5228
По умолчанию

через цикл for можно.

а чем foreach не устраивает?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 18.01.2018, 13:03   #3
sohibnut
Пользователь
 
Аватар для sohibnut
 
Регистрация: 15.01.2018
Адрес: bukhara
Сообщений: 18
Репутация: 10
По умолчанию

без for и без никакой циклное оператора. просто , задача такая
please help me!!
__________________
sohibnut вне форума   Ответить с цитированием
Старый 18.01.2018, 13:11   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,028
Репутация: 5228
По умолчанию

приведите текст задания полностью.
Множество из элементов какого типа?

так устроит?

Код:

  if b=[] then
     count := 0
  else     
     count := b.ToString.Where(v -> v=',').Count()+1;

p.s. работать будет не для всех типов множеств.

p.p.s. не люблю задачи типа "достаньте левой пяткой до правого уха. Без использования рук!"

Последний раз редактировалось Serge_Bliznykov; 18.01.2018 в 13:24.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 18.01.2018, 14:07   #5
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,648
Репутация: 2371

icq: 100500
skype: kick-ass
По умолчанию

Да откуда вы все лезете с этим паскалем-абц?
Кто вас всё время заставляет на нём что-то писать?
Что за чикатилы вас там электрошоком или флюгегехайменом пытают, а?!
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Старый 18.01.2018, 14:36   #6
sohibnut
Пользователь
 
Аватар для sohibnut
 
Регистрация: 15.01.2018
Адрес: bukhara
Сообщений: 18
Репутация: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
приведите текст задания полностью.
Множество из элементов какого типа?

[/I]
тип integer или int64
__________________
sohibnut вне форума   Ответить с цитированием
Старый 18.01.2018, 14:45   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,028
Репутация: 5228
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Кто вас всё время заставляет на нём что-то писать?
студент - существо подневольное, что приказали, то и учит. Прикажут на фортране для ЕС ЭВМ писать, будут писать на фортране.

а что это Вас так пучит от PascalABC.NET ??! Фобии? Немотивированная ненависть?

(кстати, Вы, наверное, не знаете, но есть PascalABC, а есть - PascalABC.NET это совершенно разные вещи. Оба монстры, но первый ближе к Паскалю, второй ближе к C# (точнее, это и есть C# слегка закамуфлированный под Паскаль). и если рассматривать его не как Паскаль, а как некий совершенно отдельный язык программирования, то он не так уж и плох.
Вы, например, можете на любом известном Вам языке программирования одним оператором записать решение задачи:
"Ввести строку текста, содержащую не более 10 слов, из строчных русских букв, между соседними словами – запятая, за последним словом - точка.
Составить программу, в который напечатать в алфавитном порядке:
все гласные буквы, которые входят хотя бы в одно слово более двух раз.
(гласные буквы – а, е, и, о, у, ы, э, ю, я; )"
решение:
Код:

//Эникей  Магистр
//2017-05-15T20:17:26+03:00
//Было занятно сделать все это в виде одного оператора)))

// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  ReadlnString('->').ToWords(Arr(',','.'))
      .Select(w->w.Where(c->Pos(c,'аеёиоуыэюя')>0).GroupBy(x->x)
      .Select(x->(x.Key,x.Count)).Where(x->x[1]>2)).Where(x->x.Count>0)
      .SelectMany(x->x).Select(x->x.Item1).Distinct.OrderBy(x->x)
      .Println(',')
end.

или:
"Задать целочисленную квадратную матрицу A размерностью N и заполнить её случайными числами от -50 до 50. найти строку матрицы A, которая содержит только положительные элементы и имеет минимальный номер в матрице A.
Если строка в матрице A не найдена, то выдать соответствующее сообщение. "
Код:

(c)

var
  n := ReadInteger('Введите размерность матриц: ');
  a := MatrRandomInteger(n, n, -10, 10);
begin
  a.Println;
  var k := a.Rows.ToArray.FindIndex(i -> i.All(x -> x >= 0));
  Println(k = -1 ? 'Нет строки удовлетворяющей условию поиска'
                 : 'Номер строки удовлетворяющий условию: ' + k)
end.

или
"// в предложении найти все слова с одной буквой "а" и вывести их"

Код:

// (c) Plague  http://programmersforum.ru/showpost.php?p=1686131&postcount=4"
begin
  ReadString.ToWords(Arr(' ','-','"')).Where(x->x.Count(i->i='а')=1).Print(NewLine)
end.

и т.д. и т.п.
хотя, конечно, это не отменяет того, что PascalABC.NET - это страшный монстр.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 18.01.2018, 14:52   #8
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,028
Репутация: 5228
По умолчанию

Цитата:
Сообщение от sohibnut Посмотреть сообщение
тип integer или int64
так я же привёл код выше.
Есть сомнения или проблемы?

проверил.
вроде бы работает:
Код:

var b : set of int64;
  count : integer;
begin 
  b:=[]; 
  for count := 1 to Random(10) do include(b, Random(100000));
  println(b);

  if b=[] then
     count := 0
  else     
     count := b.ToString.Where(v -> v=',').Count()+1;  
  
  WriteLn('Размерность множества = ',count)
  
end.

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 18.01.2018, 14:56   #9
sohibnut
Пользователь
 
Аватар для sohibnut
 
Регистрация: 15.01.2018
Адрес: bukhara
Сообщений: 18
Репутация: 10
Хорошо

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Да откуда вы все лезете с этим паскалем-абц?
Кто вас всё время заставляет на нём что-то писать?
Что за чикатилы вас там электрошоком или флюгегехайменом пытают, а?!
у меня ест секретная задача и я не магу расказат вам об этом
__________________
sohibnut вне форума   Ответить с цитированием
Старый 18.01.2018, 14:59   #10
sohibnut
Пользователь
 
Аватар для sohibnut
 
Регистрация: 15.01.2018
Адрес: bukhara
Сообщений: 18
Репутация: 10
По умолчанию

no tam yest for
mne nujna bez nikakova cikla!nikakova!!!!!!

Последний раз редактировалось sohibnut; 18.01.2018 в 15:01.
sohibnut вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование кода из C в PascalABC.NET (символы и строки) - PascalABC.NET ParkerVans Помощь студентам 5 05.12.2017 11:09
Как узнать значение следующего элементо в foreach? KBO PHP 3 18.08.2016 19:57
Процедура с C# на PascalABC.NET(можно просто на язык Pascal) EMILSKI Помощь студентам 1 14.11.2010 18:39
Можно ли к среде PascalABC.NET прикрутить модуль “graph» WitaliG Помощь студентам 0 18.09.2010 08:24
Как узнать текущий индекс в foreach boris-blade Общие вопросы .NET 4 25.03.2010 20:26


03:45.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru