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

Помогите найти ошибки.

15.05.2012, 11:09. Показов 609. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прога работает,но выдаёт немыслимые ответы. В Function kol мне сказал преподаватель сделать функцию в функции.(но как это сделать не знаю). Function max она мне сама же написала,а через неделю,забыв про это,сказала что это полный бред и так далее.Я запуталась.
Вообщем,помогите пожалуйста.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  Windows,
  SysUtils;
 
const n=5;
      m=5;
 
type telem=integer;
     mas=array [1..n] of telem;
     matr=array [1..n] of mas;
var a: matr;
    error_in: boolean;
    exit_: char;
    choice: integer;
 
Function menu :integer;
    Begin
    writeln ('1. Посчитать количество строк,не содержащих ни одного нудевого элемента.');
    writeln ('2. Найти максимальное из чисел,встречающихся более одного раза.');
    writeln ('3. Завершение работы.');
    writeln;
    repeat
      write ('Ваш выбор: ');
      readln (choice);
      error_in:=(choice<1) or (choice >3);
      if error_in then writeln ('Ошибка ввода!')
    until not error_in;
    menu:=choice;
    end;
 
Procedure InputMatr (var a:matr);
var i,j: integer;
begin
 randomize;
 for i:=1 to n do
  begin
   for j:=1 to m do
    begin
     a[i,j]:=random(20)-5;
     write (a[i,j]:4);
    end;
   writeln
  end
end;
 
Function kol(var a:matr):integer;
var i,j,kol:Integer; flag:Boolean;
Begin
kol:=0;
for i:=1 to n do
begin
  flag:=false;
 
  for j:=1 to m do
    if a[i,j]=0 then
      flag:=true;
  
  if flag=false then
    kol:=kol+1;
end;
end;
 
Function max(var a:matr):integer;
Var i,j:integer; max:real;
Begin
 max:=0.1;
 for i:=1 to n do
  for j:=1 to m do
   If (a[i,j]=max) and ((max=0.1) or (a[i,j]>max)) then
      max:=a[i,j];
 
end;
 
 
 
 
BEGIN
 setconsolecp(1251);
 setconsoleoutputcp(1251);
 
 InputMatr (a);
 REPEAT
  case menu of
   1: writeln ('Колличество строк,не содержащих ни одного нулевого элемента:',Kol(a));
   2: writeln ('Максимальное,встречающиеся более одного раза:',max(a));
  end;
 
  if choice<>3 then
     begin
          write ('Завершить работу? (Y/N)');
          readln (exit_);
          writeln
     end;
UNTIL (exit_='y') or (exit_='Y') or (choice=3)
END.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2012, 11:09
Ответы с готовыми решениями:

найти ошибки. помогите. сейчас надо(
задание по лабораторной, если можете сейчас ответить( !задание 16.7!

помогите пожалуйста найти ошибки в циклах
у меня есть задача на циклы: найти n-ый элемент в последовательности Фибионаччи. через for я ее сделала, а while и repeat не могу додумать,...

помогите найти ошибки и исправить
Program Spisok_grup; Type Pe=^Spisok; // описание указателя Spisok=Record // задание типа переменной FIO:String; ...

3
 Аватар для Step_UA
1591 / 664 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
15.05.2012, 13:53
с функцией max действительно полный бред ... как может элемент массива быть одновременно равным и больше значений одной и той же переменной?
Pascal
1
2
3
4
5
6
7
8
9
Function max(var a:matr):real;
Var i,j:integer; m:real;
Begin
 m:=a[1,1];
 for i:=1 to n do
  for j:=1 to m do
   If a[i,j]>max then m:=a[i,j];
 max:=m
end;
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 13
15.05.2012, 17:23  [ТС]
Вы нашли мах элемент, а нужно "Найти максимальное из чисел,встречающихся более одного раза"....
Во вторых,там больше ИЛИ равный.
0
 Аватар для Step_UA
1591 / 664 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
15.05.2012, 19:06
Вы нашли мах элемент, а нужно "Найти максимальное из чисел,встречающихся более одного раза"....
Согласен, программу полностью не просматривал, в вопросе этого не было ... функция max возвращает значение -100, если искомых элементов не найденно
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
type mas=array [1..m] of integer; // у вас описывалась матрица NxN
     matr=array [1..n] of mas;
...
Function kol(var a:matr):integer;
var i:Integer;
Function YesNull(Line:Mas):boolean;
 var i:integer;
 begin
  YesNull:=false;
  for i:=1 to m do
    if Line[i]=0 then
     begin YesNull:=true; break end;
 end;
Begin
Result:=0;
 for i:=1 to n do
  if not YesNull(a[i]) then inc(Result)
end;
Function max(var a:matr):integer;
Var i,j:integer; maxEl:integer;
Function Count(A:Matr;El:integer):integer;
 var i,j:integer;
 begin
  Result:=0;
  for i:=1 to n do
   for j:=1 to m do
    if A[i,j]=El then inc(Result);
 end;
Begin
 Result:=-100;
 for i:=1 to n do
  for j:=1 to m do
   If (a[i,j]>Result) and (Count(a,a[i,j])>1) then Result:=a[i,j];
end;
Во вторых,там больше ИЛИ равный.
привидите значения при каких значениях элемента a[i,j] и max ваше выражение будет истинно? (кроме a[i,j]=0.1, т.к. массив целочисленный):
(a[i,j]=max) and ((max=0.1) or (a[i,j]>max))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2012, 19:06
Помогаю со студенческими работами здесь

Помогите найти ошибки.
Прога работает,но выдаёт немыслимые ответы. В Function kol мне сказал преподаватель сделать функцию в функции.(но как это сделать не знаю)....

Помогите найти ошибки
Добрый день! Подскажите, в чем здесь ошибка? (прикрепляю скрин)

помогите ошибки найти...
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; int main() { string test; int n,l; ...

помогите найти ошибки (массивы)
1)написать подпрограммы ввода и вывода массива на экран удалить из масива все положительные элементы расположенные до максимального ...

Помогите найти ошибки. С++. ООП
Собственно Задание: 1. В соответствии с вариантом заданий 1 создать класс, в котором определяются закрытые свойства и открытые методы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 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 На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru