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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2010, 21:20   #1
Kati
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 34
Смущение Массивы

Написать программу, позволяющую ввести 10 целых чисел. Введенное число n лежит в диапазоне от 0 до 1000. Исходя их введенного числа n, необходимо рассчитать элемент массива k, следующим образом:
если n от 1 до 10 тогда к=0.1*n^2 -0.2*n
если n от 11 до 100 тогда к=0.6*n^3 +0.1*n^2
если n от 101 до 1000 тогда к=0.7*n/3 -0.5*n/2
Вывести массив на экран.


Попыталась, но не правильно!

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;

type
TForm1 = class(TForm)
Label1: TLabel;
StringGrid1: TStringGrid;
Button1: TButton;
Label2: TLabel;
Button2: TButton;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var n:array[1..10] of integer;
k:array[1..10] of real;
i,j:integer;
begin
// вводим массив n
for i:=1 to 10 do n[i]:=StrToInt(StringGrid1.Cells[i-1,0]);
end;
begin
if (n[i]>=0) and (n[i]=<10) then k[i]:=0.1* n[i]*n[i]-0.2*n[i];
if (n[i]>=11) and (n[i]=<100) then k[i]:=0.6* n[i]*n[i]*n[i]+0.1*n[i]*n[i];
if (n[i]>=101) and (n[i]=<1000) then k[i]:=0.7* n[i]/3-0.5*n[i]/2;
Label3.Coption:= FloatToStr(k[i]);

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Kati вне форума Ответить с цитированием
Старый 20.10.2010, 21:33   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var 
  n:array[1..10] of integer;
  k:array[1..10] of real;
  i,j:integer;
begin
 // вводим массив n
 for i:=1 to 10 do 
   begin
     n[i]:=StrToInt(StringGrid1.Cells[i-1,0]);

     if  (n[i]>=1) and (n[i]=<10) then k[i]:=0.1* n[i]*n[i]-0.2*n[i];
     if  (n[i]>=11) and (n[i]=<100) then k[i]:=0.6* n[i]*n[i]*n[i]+0.1*n[i]*n[i];
     if  (n[i]>=101) and (n[i]=<1000) then k[i]:=0.7* n[i]/3-0.5*n[i]/2;
// а тут выводим массив k в другой StringGrid
     StringGrid2.Cells[i-1,0]:=FloatToStr(k[i]);
  end;
вроде так.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 20.10.2010, 21:34   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
если n от 1 до 10 тогда к=0.1*n^2 -0.2*n
если n от 11 до 100 тогда к=0.6*n^3 +0.1*n^2
если n от 101 до 1000 тогда к=0.7*n/3 -0.5*n/2
Код:
case n[i] of
1..10:k[i]:=0.1*n[i]*n[i]-0.2*n[i];
11..100:k[i]=0.6*n[i]*n[i]*n[i]+0.1*n[i]*n[i];
101..1000:k[i]=0.7*n[i]/3-0.5*n[i]/2;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 20.10.2010, 21:42   #4
Kati
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 34
По умолчанию

Спасибо!
Работает.
Kati вне форума Ответить с цитированием
Старый 20.10.2010, 21:47   #5
Kati
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 34
По умолчанию

а как написать что 0<n<1000 ?
Kati вне форума Ответить с цитированием
Старый 20.10.2010, 22:05   #6
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Цитата:
Сообщение от Kati Посмотреть сообщение
а как написать что 0<n<1000 ?
Код:
(n > 0) and (n < 1000)
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
Массивы evgenjke Помощь студентам 0 16.02.2010 22:53
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12