|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
25.10.2011, 20:16 | #1 |
Пользователь
Регистрация: 25.10.2011
Сообщений: 10
|
Не могу доделать задачу
Помогите доделать задачу.
Она впринципе работает, но несовсем правильно-тоэсть не показывает неправильное число особых элементов k. Помогите переделать задачу что бы особое число k подсчитывалось правильно. Вот условие задачи: const n = 8; m = 12; var k:integer; С:аrrау [l..n,l..m] of integer; Определить k—количество «особых» элементов массива С, считая элемент «особым», если: в его строке слева от него находятся элементы, меньшие его, а справа — большие. Вот то что у меня получилось: uses crt; const nmax=20; type mas=array[1..nmax] of integer;{1 строка матрицы} matr=array[1..nmax] of mas;{матрица=массив строк} function F(x:byte;a:mas;n:byte):boolean; var i,j:byte; b:boolean; begin b:=true; for j:=1 to x-1 do{проверяем слева} if a[j]>=a[x] then b:=false; for j:=x+1 to n do{проверяем справа} if a[j]<=a[x] then b:=false; F:=b; end; var a:matr; n,m,i,j:byte; k:integer; begin clrscr; randomize; repeat write('Количество строк до ',nmax,' n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов до ',nmax,' m='); readln(m); until m in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to m do begin a[i][j]:=random(20); write(a[i][j]:3); end; writeln; end; writeln; k:=0; for i:=1 to n do for j:=2 to m-1 do if F(j,a[i],m) then k:=k+1;{считаем элементы} write('Количество особых элементов=',k); readln end. |
25.10.2011, 20:50 | #2 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
Код:
мог не совсем понять условие: все элементы до должны быть меньше или только соседний? ну и соответственно после искомого больше Последний раз редактировалось Dush; 25.10.2011 в 20:52. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно доделать задачу | Dizel_Zombi | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 27.06.2011 21:27 |
Помогите доделать задачу | n1ce > Kuzia | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 08.01.2009 11:42 |
помогите доделать задачу | motaro | Фриланс | 3 | 09.06.2008 19:59 |
Помогите доделать задачу!!!! | Vincenzo | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 11.05.2008 09:35 |