![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
ghost |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
В массиве B(20) определить элементы, делящиеся на 4 без остатка, и сформировать из них новый массив C, подсчитав количество таких
элементов и минимальный и максимальный среди них. ![]() Помогите решить задачу, пожалуйста. |
![]() ![]() |
Atos |
![]()
Сообщение
#2
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
![]() ghost, а у тебя самого какие-нибудь мысли есть по поводу решения? Может быть ты даже какие-нито книги по Паскалю читать пробовал? |
Atos |
![]()
Сообщение
#3
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Ладно, шутю...
Код type TElem=byte; Arr=array [1..20] of TElem; procedure Obrabotka(B:Arr; var C:Arr; var max,min,kol:TElem); var i:TElem; begin min:=0; max:=0; kol:=0; for i:=1 to 20 do begin if (B[i]<>0) and ((B[i] mod 4)=0) then begin if B[i]>max then max:=B[i]; if B[i]<min then min:=B[i]; inc(kol); C[kol]:=B[i]; end; end; end; var B,C:Arr; i,max,min,kol:Telem; begin randomize; for i:=1 to 20 do B[i]:=random(100); writeln('array B:'); for i:=1 to 20 do write(B[i],' '); writeln(' '); Obrabotka(B,C,max,min,kol); if kol=0 then writeln('No exist elements that is division of 4') else begin writeln('array C:'); for i:=1 to kol do write(C[i],' '); writeln(' '); writeln('min elements equal ',min); writeln('max elements equal ',max); writeln('in array C ', kol ,' elements'); end; readln; end. |
Лита |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(ghost @ 28.10.04 15:04) В массиве B(20) определить элементы, делящиеся на 4 без остатка, и сформировать из них новый массив C, подсчитав количество таких элементов и минимальный и максимальный среди них. Код Uses crt; const n=20; Var b,c:array [1..n] of integer; min,max,i,j:integer; BEGIN clrscr; Randomize; For i:=1 to n do begin b[i]:=random(40); write(b[i]:5); end; j:=0; For i:=1 to n do begin If b[i] mod 4=0 then begin inc(j); c[j]:=b[i]; If j=1 then begin max:=c[j]; min:=c[j]; end else begin If c[j]<min then min:=c[j]; If c[j]>max then max:=c[j]; end; end; end; writeln; For i:=1 to j do write(c[i]:4); writeln; writeln('vsego elementov ',j); writeln('max=',max,' min=',min); readln; end. -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Лита |
![]() ![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(Atos @ 28.10.04 15:33) Ладно, шутю... а если в массиве нет отрицательных элементов? а вы минимальному присвоили ноль, а потом сравниваете с ним элементы, делящиеся на 4, которые вовсе необязательно могут быть меньше нуля... ![]() -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Лита
Тогда так: Код min:=maxint; max:=-maxint; |
Лита |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 28.10.04 15:54) Код min:=maxint; max:=-maxint; ну можно и так... <_< так даже попроще... :yes: -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Atos |
![]()
Сообщение
#8
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
![]() |
ghost |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо всем, что помогли=)
Добавлено (2.11.04 14:00): Как будет выглядеть блок-схема к этой проге? |
Гость_Лита |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(ghost @ 2.11.04 15:00) Как будет выглядеть блок-схема к этой проге? ![]() даже если я ее нарисую, как я ее тут размещу? ![]() |
APAL |
![]()
Сообщение
#11
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(Гость_Лита @ 2.11.04 16:16) даже если я ее нарисую, как я ее тут размещу? ![]() Ничего смешного. У нас есть возможность вставки рисунков. В крайнем случае можно картинку закачать в файловый архив, который тоже у нас имеется. -------------------- |
ghost |
![]()
Сообщение
#12
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Или можно на мыло мне кинуть.
|
Лита |
![]()
Сообщение
#13
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(APAL @ 2.11.04 15:27) Ничего смешного. У нас есть возможность вставки рисунков. хе... признаю свою оплошность, не посмотрела, что вошла под гостем... исправлюсь... -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
Лита |
![]()
Сообщение
#14
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(ghost @ 2.11.04 20:27) Или можно на мыло мне кинуть. Вот... щас попробую прикрепить блок-схему... только я немного изменила прогу... Код Uses crt; const n=20; Var b,c:array [1..n] of integer; min,max,i,j:integer; BEGIN clrscr; Randomize; For i:=1 to n do begin b[i]:=random(40); write(b[i]:5); end; j:=0; For i:=1 to n do begin If b[i] mod 4=0 then begin inc(j); c[j]:=b[i]; If j=1 then begin max:=c[j]; min:=c[j]; end else begin If c[j]<min then min:=c[j]; If c[j]>max then max:=c[j]; end; end; end; writeln; If k>0 then begin For i:=1 to j do write(c[i]:4); writeln; writeln('vsego elementov ',j); writeln('max=',max,' min=',min); end else writeln('Net elementov kratnih 4'); readln; end. Сообщение отредактировано: Лита - 3.11.2004 2:32 Эскизы прикрепленных изображений ![]() -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
ghost |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Немного пределанная прога
Код Uses crt; const n=20; label e1, e2; Var b,c:array [1..n] of integer; min,max,i,j:integer; begin clrscr; gotoxy(18,10); writeln('текст'); gotoxy(18,11); writeln('текст '); gotoxy(18,12); writeln('текст'); readkey; e1: clrscr; Randomize; writeln ('Массив А'); For i:=1 to n do begin b[i]:=random(40); write(b[i]:5); end; gotoxy (1,4); writeln ('Массив C'); j:=0; For i:=1 to n do begin If b[i] mod 4=0 then begin inc(j); c[j]:=b[i]; If j=1 then begin max:=c[j]; min:=c[j]; end else begin If c[j]<min then min:=c[j]; If c[j]>max then max:=c[j]; end; end; end; writeln; If j>0 then begin For i:=1 to j do write(c[i]:4); writeln; writeln('Всего элементов ',j); writeln('max=',max,' min=',min); end else writeln('Нет элементов кратных 4'); e2: gotoxy(5,20); writeln('Вы хотите сделать ещё один массив? y/n'); gotoxy(25,21); case readkey of #89: goto e1; #121: goto e1; #78: exit; #110: exit; end; goto e2; end. А как сделать чтобы в этой проге массив А можно было задать самому, без рандомайза? Как в этом случае будет выглядет блок схема? |
APAL |
![]()
Сообщение
#16
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата А как сделать чтобы в этой проге массив А можно было задать самому, без рандомайза? Как в этом случае будет выглядет блок схема? В блок-схеме замени b[i]:=random(40) на Readln(b[i]) -------------------- |
ghost |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну а в самой проге что надо изменить?
И ещё, в первоначальной блок схеме после начала написано ввод n, m. Мы же ничего не вводим, зачем они? Сообщение отредактировано: ghost - 12.11.2004 12:50 |
APAL |
![]()
Сообщение
#18
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
То что надо изменить я уже обозначил.
-------------------- |
Лита |
![]()
Сообщение
#19
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(ghost @ 12.11.04 12:48) Ну а в самой проге что надо изменить? И ещё, в первоначальной блок схеме после начала написано ввод n, m. Мы же ничего не вводим, зачем они? В самой программе меняешь тоже самое: b[i]:=random(40) меняешь на readln(b[i]); а с n,m я проперлась, осталось с другой блок-схемы. :p2: надо просту выкинуть этот кусок из нее Сообщение отредактировано: Лита - 12.11.2004 13:56 -------------------- Что нам стоит мир пострить? Нарисуем - будем жить...
|
ghost |
![]()
Сообщение
#20
|
Новичок ![]() Группа: Пользователи Сообщений: 23 Пол: Мужской Репутация: ![]() ![]() ![]() |
После замены в проге, можно вводить самому массив А, но как-то странно он вводится. Я ввёл число, нажал enter и то число, которое я ввёл переносится на следующую строку.
Пример: 5 56 63 37 79 95 50 07 Как это исправить? И ещё, как сделать чтобы вводимые числа писались не в столбик, а в сторку? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:44 |