Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        блок-система
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 ]
Модераторы: paradise, KMA
  

chernaja


Новичок

спасибо)

Всего сообщений: 4 | Присоединился: май 2009 | Отправлено: 8 июня 2009 1:01 | IP
TERRATOR



Новичок

Помогите пожалуста найти ошибку, прога должна считывать суммы елементов квадратной матрицы ниже побочной диагонали.


{unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Edit3:TEdit;
   StringGrid1: TStringGrid;
   Button1: TButton;
   Button2: TButton;
   Label1: TLabel;
   procedure Button1Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;
 const t=8;
var
i,j:Integer;
 Form1:Tform;
implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var  i,j:Integer;
begin
with StringGrid1 do
   begin
     for i := 0 to t do begin
     Cells[i,0] := IntToStr(i); end;
     for j := 0 to t do begin
     Cells[0,j] := IntToStr(j); end;
   end;
randomize;
 with StringGrid1 do
   begin
     for i := 1 to t do
     for j := 1 to t do begin
       Cells[i,j] := IntToStr(random(5)+1);
       end;
   end;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
If CloseQuery then Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
var x:Integer; i,j:Integer;
begin
x:=0;

  with StringGrid1 do
   begin
     for i := 1 to t do
     for j := 1 to t do begin
       StrToInt(StringGrid1.Cells[i,j]);
     end;
     for i:=1 to j do
     for j:=t downto RowCount-i+1 do begin
       Edit3.Text:=intToStr(StrToInt(Cells[i,j])+(x));
     end;
   end;
end;

end. }

Всего сообщений: 4 | Присоединился: май 2009 | Отправлено: 11 июня 2009 12:57 | IP
Dale



Участник

1)Button2Click
Code Sample:
 
    for i := 1 to t do
    for j := 1 to t do begin
      StrToInt(StringGrid1.Cells[i,j]);
    end;


вам ничего не дает, можете удалить

2)Ваша ключевая ошибка:
Edit3.Text:=intToStr(StrToInt(Cells[i,j])+(x));

Переменная x всегда равна нулю, а прибавляя к нулю cells[i,j],
вы ничего не добьетесь. В итоге у вас выведется значение последней прибавляемой ячейки.
Так что если вы используете для подсчетов текстовые окна, то делайте это до конца без всяких левых переменных. То есть вместо
x:=0;
пишите
Edit3.Text:=inttostr(0);
а вместо стороки
Edit3.Text:=intToStr(StrToInt(Cells[i,j])+(x));
напишите
Edit3.Text:=inttostr(strtoint(edit3.text)+strtoint(cells[i,j]));
и по-идее все заработает.
А вообще, вы написали не в тот раздел форума. В следующий раз пишите сюда:
http://exir.ru/cgi-bin/ikonboard/topic.cgi?forum=3&topic=214

(Сообщение отредактировал Dale 12 июня 2009 4:51)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 12 июня 2009 4:40 | IP
DELUZA



Новичок

помогите составить блок схему
program z3;
 uses Crt;
function areFriends(a1,a2: longint): boolean;
var b: boolean;
s1,s2: longint;
   i: longint;
begin
 b:=false;

 s1:=0;
 for i:= 1 to (a1 div 2) do if a1 mod i = 0 then s1:=s1+i;
 s2:=0;
 for i:= 1 to (a2 div 2) do if a2 mod i = 0 then s2:=s2+i;
 if ((a1=s2) and (a2=s1)) then b:=true;

 areFriends:=b;
end;
var
k,i,j: longint;
begin
 repeat
   clrScr;
   Write('Vvedite 4islo K= ');
   readln(k)
 until k>1;
 writeln('Rezultat(dozdites nadpisi o zavershenii raboti):');

 for i:=1 to k-1 do
  for j:=i to k-1 do
   if areFriends(i,j) then writeln(i,'        ',j);

 writeln('Programma zavershila svou rabotu!');
 readln;
end.


(Сообщение отредактировал DELUZA 18 июня 2009 0:38)

Всего сообщений: 8 | Присоединился: июнь 2009 | Отправлено: 18 июня 2009 0:37 | IP
Dale



Участник

DELUZA  , прогресс на лицо! Вы научились писать маленькими буквами!!!)))
Получите конфетку)
внешняя ссылка удалена

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 18 июня 2009 2:56 | IP
DELUZA



Новичок

спасибо большое

Всего сообщений: 8 | Присоединился: июнь 2009 | Отправлено: 19 июня 2009 20:02 | IP
DELUZA



Новичок

помоги еще сделать блок схему на эти задачи      

program z2;
 uses Crt;
function isSimple(x: longint): boolean;
var i: longint;
   b: boolean;
begin
 b:=true;
 i:=2;
 if x>2 then
    while i<x do
      if x mod i=0 then begin b:=false; i:=x; end
      else inc(i);
 isSimple:=b;
end;
function NextSimple(x: longint):longint;
var i: longint;
begin
 i:=x+1;
 while not(isSimple(i)) do inc(i);
 nextSimple:=i;
end;
var
x,i: longint;
begin
 clrScr;
 write('Vvedite prostoe chislo: ');
 readln(x);
 for i:=1 to 5 do begin
   x:= NextSimple(x);
   writeln('Sleduus4ee prostoe 4islo = ',x);
 end;
 readln;
end.

Всего сообщений: 8 | Присоединился: июнь 2009 | Отправлено: 19 июня 2009 20:07 | IP
DELUZA



Новичок

program z1;
 uses Crt;
function isSimple(x: longint): boolean;
var i: longint;
   b: boolean;
begin
 b:=true;
 i:=2;
 if x>2 then
    while i<x do
      if x mod i=0 then begin b:=false; i:=x; end
      else inc(i);
 isSimple:=b;
end;
function NextSimple(x: longint):longint;
var i: longint;
begin
 i:=x+1;
 while not(isSimple(i)) do inc(i);
 nextSimple:=i;
end;
var
x: longint;
begin
 clrScr;
 write('Vvedite prostoe chislo: ');
 readln(x);
 writeln('Sleduus4ee prostoe 4islo = ',NextSimple(x));
 readln;
end.

пожалуйста)))

Всего сообщений: 8 | Присоединился: июнь 2009 | Отправлено: 19 июня 2009 20:08 | IP
KMA



Долгожитель

Это уже не помощь, я решение получается!

Я дам подсказку, здесь должно быть 3 блок-схемы для каждой задачи и эти схемы довольно просты и тривиальны, тебе нужно лишь воспользоваться соответствующим ГОСТом информация о нем. Если сможешь построить блок-схему, это будет хороший шаг в сторону программирования.

Тем более не хорошо на одном форуме просить задачи, а на втором стрить блок-схемы.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 20 июня 2009 18:18 | IP
Dale



Участник


Тем более не хорошо на одном форуме просить задачи, а на втором стрить блок-схемы.

Наоборот, так и надо делать! Что будет, если в одноqй теме будут и просить задачи и строить блок-схемы?  Не только нарушение правил, но и такая  каша, что ни в сказке сказать, ни пером описать :-)



(Сообщение отредактировал Dale 21 июня 2009 0:23)

Всего сообщений: 139 | Присоединился: май 2009 | Отправлено: 21 июня 2009 0:21 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 ]

Форум работает на скрипте © Ikonboard.com