Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 05.09.2009
Сообщений: 4

Pascal: массивы

05.09.2009, 16:53. Показов 1019. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
преподаватель задал решить до понедельника задачу у меня ничего не получается:

Разработать процедуру для формирования из массива двоичных цифр массива десятичных чисел,каждое из которых равно трехрязрядному двоичному числу исходного массива.
Используя Эту процедуру преобразовать каждую строку двоичного массива в десятичный код.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2009, 16:53
Ответы с готовыми решениями:

Массивы в Pascal
Значения элементов двухмерного массива A задаются с помощью следующего фрагмента программы: for i:=1 to 100 do for k:=1 to 100 do ...

Массивы в Pascal
Всем привет. Помогите чайнику! Пожалуйста! Нужно перемножить две матрицы. Размерности например 100 на 100 и 100 на 200 ( хотя это не...

Pascal, Массивы
Ребят, помогите пожалуйста, я не могу понять условие: Дан массив из 20 элементов. Найти пять “соседних” элементов, сумма значений которых...

6
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.09.2009, 17:20
Немного не понятно задание. Я понял так.
1.дан массив из кратного трем количества нолей и единиц. Каждые тройку символов преобразовать в десятичные цифры, типа 000111=0, 7. Это процедура. Тут просто можно составить два массива соответствия из восьми элементов.
2.Что значит каждую строку двоичного массива? Это массив строк по типу описанных выше, например
ст.1- 111010101
ст.2-111
ст.3- 01010101010
0
0 / 0 / 0
Регистрация: 05.09.2009
Сообщений: 4
05.09.2009, 17:30  [ТС]
100 101
110 111
я сам не понял мне кажется дана такая матрица с числами в двоичной системе счисления и надо перевести в десятичную систему счисления при помощи процедуры
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.09.2009, 17:33
И вообще, это правильно получается не десятичные, а восьмеричные числа.

Добавлено через 2 минуты
И потом про матрицу или двумерный массив в задании ничего не написано. А вообще какую тему проходите, строки, линейные массивы, двумерные массивы. Попробуй еще раз перечитать задание, может что упустил.
0
0 / 0 / 0
Регистрация: 05.09.2009
Сообщений: 4
05.09.2009, 17:36  [ТС]
мне преподаватель этот вопрос на экзамен дал, я вот всё в слово слово переписал...
хоть что то напишите!
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.09.2009, 18:37
Если я Вас правильно понял, то можно так. Размеры строк и их количество задал константами, можете их изменить, или определять их в диалоге, но размер символьного массива должен быть кратным 3.
Pascal
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
uses crt;
const
trd:array[0..7] of string[3]=('000','001','010','011','100','101','110','111');{все трехразрядные двоичные числа}
n=45;{количество двоичных цифр в массиве(кратно трем)}
m=10;{количество строк в матрице}
type
mChar=array[1..n] of char;{массив двоичных цифр}
mCifr=array[1..n div 3] of byte;{массив десятичных цифр(в 3 раза меньше)}
procedure BinToDec(ch:mChar;var cf:mCifr);{процедура преобразования}
var i,j,k,l:byte;
    s:string;
begin
l:=0;{счетчик десятичного массива}
for i:=1 to n do{идем по двоичному массиву}
if i mod 3=1 then{если индекс=1,4,7.....}
 begin
  s:='';{начало строки}
  l:=l+1;{очередное десятичное число}
  for j:=i to i+2 do{из трех символов}
  s:=s+ch[j];{собираем строку}
  for k:=0 to 7 do{смотрим наши триады(константа)}
  if s=trd[k] then cf[l]:=k;{с каким номером в константе совпадает, та и десятичная цифра}
 end;
end;
 
var a:array[1..m] of mChar;{матрица- массив  двоичных строк}
    b:array[1..m] of mCifr;{матрица десятичных цифр}
    i,j:byte;
begin
clrscr;
randomize;
writeln('Двоичный массив:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=chr(random(2)+48);{случайно назначаем символ  '0' или '1'}
    if j mod 3=0 then write(a[i,j],' '){если конец триады, ставим пробел}
    else write(a[i,j]);{если нет, подряд}
   end;
  writeln;
 end;
writeln;
writeln('Десятичный массив:');
for i:=1 to m do{идем по строкам матрицы символов}
BinToDec(a[i],b[i]);{преобразуем массивы двоичных символов в массивы десятичных цифр}
for i:=1 to m do{выводим результат на экран}
 begin
  for j:=1 to n div 3 do
  write(b[i,j],' ');
  writeln;
 end;
readln
end.
0
0 / 0 / 0
Регистрация: 05.09.2009
Сообщений: 4
05.09.2009, 18:49  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.09.2009, 18:49
Помогаю со студенческими работами здесь

Массивы в Pascal
Есть задача: Для двомерного массива F(5*5), который состоит с целых чисел, найти: а) максимальный элемент, который размещен выше...

Массивы Pascal
В матрице размером m x n в каждой строке заменить элементы, большие 10 (по модулю), на 10,а меньшие или равные 10 (по модулю)- на номер...

Массивы. Pascal.
здравствуйте. вопрос вот какой: есть массив array of TTarget TTarget, в свою очередь: TTarget = object Loc: TLoc; ...

Pascal массивы
P1...P20 -плановые задания по объему перевозок 20 водителей; R1...R20 -реально выполненные объемы перевозок; F1...F20 -фамилии...

pascal. Массивы
Помогите пожалуйста, не могу решить. Заранее большое спасибо=) 1. Задан массив-константа A(10) из целых чисел. Переписать массив так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru