Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2016, 23:59   #1
gleensande
Пользователь
 
Регистрация: 03.04.2016
Сообщений: 39
Вопрос Подозрительная ошибка

Тут такое дело:
у меня в программе есть две переменные(t и sum) и одна константа (m). Но когда я их делю таким образом:
Код:
t:=sum/m;
То и Паскаль АБС и Турбо Паскаль выдает ошибку о том, что я неправильно преобразовываю типы.
А именно в АБС: Нельзя преобразовывать тип real к integer. В Турбо: type mismatch.
Благодарности моей не будет предела, если подскажете, в чем подвох.
Вот полный код программы:
Код:
program pr4_11;
const
  m=10;
  n=12;
var 
  a:array[1..n,1..m] of integer;
  i,j,k,sum,t,pay: integer;
begin
  for i:=1 to n do
    for j:=1 to m do
      a[i,j]:=7000-random(1000);
      
  for i:=1 to n do
  begin
    for j:=1 to n do
     write(a[i,j],' ');
    writeln;
  end;           
  
  sum:=0;
  
  for i:=1 to n do
    for j:=1 to m do
      sum:=sum+a[i,j];
      
  t:=sum/m;
 
  pay:=0;
  
  for j:=1 to m do
    begin
      for i:=1 to n do
        pay:=pay+a[i,j];
      if pay>t then
        inc(k);
    end;
  
   write('Таких людей ',k);
end.

Последний раз редактировалось gleensande; 07.04.2016 в 00:28.
gleensande вне форума Ответить с цитированием
Старый 07.04.2016, 00:22   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Результат такого деления действительное число. Или используйте целочисленное деление div, или используйте функции округления.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.04.2016, 00:28   #3
gleensande
Пользователь
 
Регистрация: 03.04.2016
Сообщений: 39
По умолчанию

Премного благодарю!
Теперь программа работает некорректно, но хотя бы работает, с остальным разберусь
gleensande вне форума Ответить с цитированием
Старый 07.04.2016, 00:35   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Пожалуйста. А насчет некорректности: при печати массива верхняя граница одного цикла неверно выбрана; pay обнулять нужно для каждого столбца, наверное, а не только в начале; k перед использованием неплохо бы обнулить.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Помогите в чем может быть ошибка? Ошибка ';' expected but 'BEGIN' found АлександрDelphi Общие вопросы Delphi 7 06.03.2016 19:25
Java. Ошибка. Компилируется, но не запускается. Ошибка duplicate class. Проблема не в коде. nevender Общие вопросы по Java, Java SE, Kotlin 2 13.02.2016 13:24
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58