Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача на двумерный массив в Delphi 
:(
    Опции темы
alena19
Дата 6.12.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.12.2009

Репутация: нет
Всего: нет



 В регионе из 8 областей в течение ряда лет ведется компьютерный учет количества преступлений по каждой области. Найти и вывести на экран названия областей, в которых было совершено максимальное и минимальное количество преступлений в прошлом и текущем годах в сумме.
Все, до чего смогла додуматься:
Код

procedure TForm1.FormActivate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Название области';
StringGrid1.Cells[1,0]:='2006';
StringGrid1.Cells[2,0]:='2007';
StringGrid1.Cells[3,0]:='2008';
StringGrid1.Cells[4,0]:='2009';
end;

procedure TForm1.Button1Click(Sender: TObject);
Var Prestup:array[0..4,1..8] of integer;
    Sum:array[1..8] of integer;
    i,k,Max,Min,Obl1,Obl2:integer;
begin
 for i:=1 to 8 do
   begin
    Sum[i]:=0;
     for k:=3 to 4 do
       begin
     Prestup[k,i]:=strtoint(StringGrid1.Cells[k,i]);
     Sum[i]:=Sum[i]+Prestup[k,i];
      end;
  Prestup[k,i]:=strtoint(StringGrid1.Cells[k,i]);
  Sum[i]:=Sum[i]+Prestup[k,i];
       end;

 Max:=Sum[1];
 Obl1:=Prestup[0,1];

 for i:=1 to 8 do
   begin
 if Sum[i]>Max then Max:=Sum[i];
 Obl1:=Prestup[0,i];
 Label1.Caption:='Максимально'+inttostr(Obl1);
end;

 Min:=Sum[1];
 Obl2:=Prestup[0,1];
 for i:=1 to 8 do
 begin
 if Sum[i]<Min then Min:=Sum[i];
 Obl2:=Prestup[0,i];
 Label2.Caption:='Минимально'+inttostr(Obl2);
 end;

 end;
end.


Программа запускается, но не считает.
Подскажите, пожалуйста, где ошибка.


M
THandle
Модератор: используйте подсветку кода!

PM MAIL   Вверх
Keeper89
Дата 6.12.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(alena19 @  6.12.2009,  16:37 Найти цитируемый пост)
Программа запускается, но не считает.

Не считает - это неверный результат или ошибка?


--------------------
PM MAIL WWW   Вверх
alena19
Дата 6.12.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.12.2009

Репутация: нет
Всего: нет



ошибка
PM MAIL   Вверх
Данкинг
Дата 6.12.2009, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(alena19 @  6.12.2009,  18:03 Найти цитируемый пост)
ошибка 

Текст ошибки - тайна?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Данкинг
Дата 6.12.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Я в коде ошибок явных не вижу, может быть, там выход за пределы массива или СтрингГрида и т.п.

Это сообщение отредактировал(а) Данкинг - 6.12.2009, 18:37


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
alena19
Дата 7.12.2009, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.12.2009

Репутация: нет
Всего: нет



Выскакивает окно с ошибкой:”is not a valied integer value”
PM MAIL   Вверх
Данкинг
Дата 7.12.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(alena19 @  7.12.2009,  00:12 Найти цитируемый пост)
”is not a valied integer value” 

На какой строке?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
alena19
Дата 7.12.2009, 00:40 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 6.12.2009

Репутация: нет
Всего: нет



просто в отдельном окне.после этой ошибки нужно заново открывать программу
PM MAIL   Вверх
Keeper89
Дата 7.12.2009, 00:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Ну, задействуя телепатор, можно сказать что обрабатывается ячейка, в которую не введено значение.


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 7.12.2009, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(alena19 @  7.12.2009,  00:40 Найти цитируемый пост)
просто в отдельном окне.после этой ошибки нужно заново открывать программу 

 smile Напрягая телепатические способности, могу сказать, что, видимо, одна из strtoint() у тебя обращается к пустому значению СтрингГрида.

Добавлено через 17 секунд
Keeper89, да-да. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
~FoX~
Дата 7.12.2009, 08:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 5
Всего: 68



Если это весь код, какой есть, то любая ячейка стрингрида пустая  smile 


Данкинг, Keeper89, Нифига себе, у вас по ночам, ребята обостряеться телепатия  smile  smile   smile 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
THandle
Дата 7.12.2009, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



alena19, товарищи написавшие посты выше правы. smile Я бы использовал тут вместо StrToInt функцию TryStrToInt и проводил бы дальнейшие действия с получившимся Integer-значением только в том случае если TryStrToInt выполнилась успешно. smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.