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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2012, 18:57   #1
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию Задача в StringGrid

Добрый день, мне нужно написать задачу в виде таблицы StringGrid, суть её в том что нужно вписать в 1 столб числа от 0 до 20(это я сделал) но ещё и нужно найти их среднее арифметическое, каким образом можно это сделать?
qpuTuJlb вне форума Ответить с цитированием
Старый 24.05.2012, 20:25   #2
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

Могу предположить что надо на делфи, но с++ мне больше нра :D
Код:
int s = 1; float sum = 0, sr;

	for (int i = 0; i < 20; i++) {

		sum = sum +StrToFloat(StringGrid1->Cells[1][s]);

		s++;
	}
sr = sum/20;
Multiman вне форума Ответить с цитированием
Старый 24.05.2012, 20:57   #3
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

мне на с++ не надо, надо на делфи
мы с++ ещё не учили, препод сразу увидит что кто-то помог=)
qpuTuJlb вне форума Ответить с цитированием
Старый 24.05.2012, 21:18   #4
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

Ну это как пример. Пробуйте сами. Если я напишу будет не интересно =)
Все также, только на язык делфи и все.

Создаете цикл, в переменную складываете все значения из ячеек грида и потом делите на количество цифр.
Multiman вне форума Ответить с цитированием
Старый 24.05.2012, 21:47   #5
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, sum, s: integer;
  srednee: real;

begin
 s:= 0;
 sum:= 0;
 for i:= 1 to 20 do begin
    sum:= sum + StrToInt(StringGrid1.Cells[0,s]);
    s:= s + 1;
  end;

  srednee:= sum/20;
  Memo1.Lines.Add(FloatToStr(srednee));

  end;

end.
Multiman вне форума Ответить с цитированием
Старый 24.05.2012, 21:56   #6
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от Multiman Посмотреть сообщение
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, sum, s: integer;
  srednee: real;

begin
 s:= 0;
 sum:= 0;
 for i:= 1 to 20 do begin
    sum:= sum + StrToInt(StringGrid1.Cells[0,s]);
    s:= s + 1;
  end;

  srednee:= sum/20;
  Memo1.Lines.Add(FloatToStr(srednee));

  end;

end.
программа выдаёт ошибку
qpuTuJlb вне форума Ответить с цитированием
Старый 25.05.2012, 07:36   #7
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от qpuTuJlb Посмотреть сообщение
программа выдаёт ошибку
заместо strtoint прикрути

Код:
function TryStrToInt(const S: string; out Value: Integer): Boolean;
var
  E: Integer;
begin
  Val(S, Value, E);
  Result := E = 0;
end;
http://translate.google.ru

http://docwiki.embarcadero.com/Libra...ls.TryStrToInt

Преобразует строку, которая представляет собой целое число (в десятичной или шестнадцатеричной нотации) в ряд с булевыми код успеха.

TryStrToInt преобразует строку S, который представляет собой целое число типа в десятичном или шестнадцатеричном формате, в номер, который присваивается значение. Если S не является действительным числом, TryStrToInt возвращает False, в противном случае TryStrToInt возвращает True.


а в товоем пример

Код:
for i:= 1 to 20 do begin
    sum:= sum + StrToInt(StringGrid1.Cells[0,s]);
    s:= s + 1;
  end;
а смысл.... s=0

Код:
for i:= 1 to 20 do begin
    sum:= sum + StrToInt(StringGrid1.Cells[0,i]);
    s:= s + 1;
  end;
с учетом функции выше

Код:
var sm:integer;
...

for i:= 1 to 20 do begin
  if TryStrToInt (StringGrid1.Cells[0,i],sm) then  begin
    sum:= sum + sm;
    s:= s + 1;
   end;
  end;
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 25.05.2012 в 07:41.
denisbrain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача с компонентом Stringgrid Severe007 Помощь студентам 0 22.05.2011 12:58
stringgrid+колесо мыши=>stringgrid.onclick aalleexxaa Общие вопросы Delphi 5 16.02.2011 16:58
Задача StringGrid, требуется закрасить ячейку по координатам Mir@cle Помощь студентам 0 13.12.2010 19:50
Задача со stringgrid !! WeRsUs Помощь студентам 0 30.10.2010 21:38
Задача по StringGrid Оля Помощь студентам 3 21.04.2007 13:49