разминка!!

Регистрация на сайте
GRATIS форум > Архивы > ** Компьютер
BigBrother
Разминайтесь. Делайте на Дельфи или на С++.

Дано одномерный массив с длиной в 10 элементов. Найти сумму отрицательных элементов в этом массиве.
Duke
QUOTE
Дано одномерный массив с длиной в 10 элементов. Найти сумму отрицательных элементов в этом массиве.
Хм....зачем мне это?
BigBrother
QUOTE
Чё за фигня ?

QUOTE
Хм....зачем мне это?

это разминка.

Дано: тектовый файл. Зашифровать его. Каждый символ увеличить на 1. A станет B, B - C и т.д.
Salagin
BigBrother
Наверное, придецца писать ответы самому...
NightBlaze
BigBrother
Хммм... Странная у тебя разминка. Эти проги еще в школе на Бейсике писали...
BigBrother
Salagin
QUOTE
Наверное, придецца писать ответы самому...

CODE
procedure TForm1.Button1Click(Sender: TObject);
const n=10;
var a:array [1..n] of Integer;
   E,i:Integer;
begin
E:=0;
a[1]:=-2;a[2]:=-2;a[3]:=-2;a[4]:=-2;a[5]:=-2;
a[6]:=-2;a[7]:=-2;a[8]:=-2;a[9]:=2;a[10]:=-2;
 for i:=1 to n do
  if a[i]<0 then
 E:=E+a[i];
 caption:=inttostr(E);
end;

smile.gif Совершенствуйте код!
NightBlaze
BigBrother
QUOTE
CODE procedure TForm1.Button1Click(Sender: TObject); const n=10; var a:array [1..n] of Integer;E,i:Integer; begin E:=0; a[1]:=-2;a[2]:=-2;a[3]:=-2;a[4]:=-2;a[5]:=-2; a[6]:=-2;a[7]:=-2;a[8]:=-2;a[9]:=2;a[10]:=-2;for i:=1 to n do if a[i]<0 thenE:=E+a[i];caption:=inttostr(E); end;

Эй! А как же ввод значений массива пользователем? smile.gif
BigBrother
NightBlaze
QUOTE
Эй! А как же ввод значений массива пользователем?

через Edit сделать или через StringGrid? если через edit, то edit один использовать или несколько?
NightBlaze
А это уже как хочешь. Главное чтобы эту прогу мог использовать абсолютно не шаращий в компах человек smile.gif
BigBrother
NightBlaze
QUOTE
чтобы эту прогу мог использовать абсолютно не шаращий в компах

CODE
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Label1: TLabel;
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   Edit4: TEdit;
   Edit5: TEdit;
   Edit6: TEdit;
   Edit7: TEdit;
   Edit8: TEdit;
   Edit9: TEdit;
   Edit10: TEdit;
   Button1: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Edits : array [1..10] of TEdit;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
 Label1.Caption:='Заполните каждое поле значением';
 for i := Low(Edits) to High(Edits) do
 Edits[i] := TEdit(FindComponent('Edit' + IntToStr(i)));

 for i := Low(Edits) to High(Edits) do Edits[i].Text := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
const n=10;
 var
  a:array [1..n] of Integer;
  E,i:Integer;
begin
E:=0;
for i :=1 to n do
 begin
   a[i]:=StrToInt(Edits[i].Text);
 if a[i]<0 then
 E:=E+a[i];
                end;
Label1.Caption:='Сумма отрицательных чисел равна '+IntToStr(E);
end;

end.

так пойдёт? smile.gif
NightBlaze
BigBrother
QUOTE
так пойдёт?

Прекланяюсь пред вашим мастерсвом smile.gif
Salagin
Идея мне нравицца... продолжайте в том же духе... если нужно содействие - обращайтесь...
BigBrother
Salagin
QUOTE
Идея мне нравицца...

разминка для знатоков действительно такая слабовата будет. ну ничё вам задание написать вирус ph34r.gif шутка.

решение второй задачи такое:
QUOTE
Var F:File of byte;
      b:byte;
begin
      .... //открыть файл побайтно прочесть
      b:=b+1;
      ... //сохранить изменения в файле
      //закрыть файл
NightBlaze
BigBrother
А если код символа 255? Давай тогда чтобы он 0 был равен.
Или я вообще в программировании ничего не знаю...
Черная орхидея
Ужас просто... Думала, что отвращение к этому всему у меня уже прошло... Ан нет... blink.gif Простите..
NightBlaze
Черная орхидея
QUOTE
Ужас просто... Думала, что отвращение к этому всему у меня уже прошло... Ан нет... Простите..

Ниче. А ты все равно попробуй. А я раскртикую smile.gif
Черная орхидея
NightBlaze
QUOTE
А я раскртикую

Тем более... тогда точно еще долго не смогу с этими программными кодами дружить...
BigBrother
NightBlaze
QUOTE
А если код символа 255? Давай тогда чтобы он 0 был равен.
Или я вообще в программировании ничего не знаю...

Если 255, то он так и останется. Диапозон же символов от 0 до 255.
А вот если 256, то по-моему 256 и отнимиется, и получаем тот самый 0.
В шифрование если перебор, помоему, всегда 256 отнималось. smile.gif

Всё теория есть, лучше пример рабочий приведите люди. Может кому понадобится.
NightBlaze
А вот такая задачка?

Дано две картинки. Допустим jpeg. Размер картинок 800*600. Попиксильно сравнить их и выдать в % количество разных пикселей. То есть берем координату (1;1) у первой картинки и эту же координа ту у второй. Сравниваем. Потом (1;2) (ну или (2;1) - это как захотся) и т.д.
Только не общий вид, алгоритм, а работающую прогу. Иначе не интересно.
Конь-Огонь
NightBlaze
QUOTE
А если код символа 255? Давай тогда чтобы он 0 был равен.
Или я вообще в программировании ничего не знаю...

BigBrother
QUOTE
Если 255, то он так и останется. Диапозон же символов от 0 до 255.
А вот если 256, то по-моему 256 и отнимиется, и получаем тот самый 0.
В шифрование если перебор, помоему, всегда 256 отнималось.

Ужас. smile.gif Ничего никогда не отнималось. smile.gif
Если у нас переменная b описана как byte, то максимальное значение, которое она может хранить - это 255. При прибавлении к нему единицы получаем переполнение (если быть точным - возводится флаг переполнения в регистре флагов процессора, правда это сейчас никому не интересно, так как мы не на ассемблере пишем), а значение b становится равным 0. Ничего не отнимается. smile.gif
BigBrother
Конь-Огонь
QUOTE
значение b становится равным 0. Ничего не отнимается.

Это ещё лучше smile.gif Вспомнил, с переполнениями я поступал по другому, когда например к символам прибавлял 5, как не помню smile.gif
-Twizzted-
Задачка: нужно реализовать алгоритм пятнашек, т.е. из любого начльного состояния фишек прийти к решению - выстроить их по порядку. Если решения нет, то сообщить об этом