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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2017, 18:17   #1
JackGFG
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 12
По умолчанию Нужна помощь с заданием. Поиск минимального значения из положительных чисел и сортировка

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

Цитата:
unit Unit1;

{$MODE Delphi}

interface

uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, Grids;

type

{ TForm1 }

TForm1 = class(TForm)
StringGrid1: TStringGrid;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Button1: TButton;
StringGrid2: TStringGrid;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
StringGrid3: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure SpinEdit2Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Math;

{$R *.lfm}

procedure TForm1.Button1Click(Sender: TObject);
VAR
i,j:integer;
begin
Randomize();
SpinEdit1.Value:=Random(3)+3;
SpinEdit2.Value:=Random(3)+2;
for i:=0 to StringGrid1.RowCount-1 do
begin
for j:=0 to StringGrid1.ColCount-1 do
begin
StringGrid1.Cells[j,i]:=IntToStr(RandomRange(-45,36));
end;
end;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
StringGrid1.RowCount:=SpinEdit1.Val ue;
StringGrid2.RowCount:=SpinEdit1.Val ue;
StringGrid3.RowCount:=SpinEdit1.Val ue;
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
StringGrid1.ColCount:=SpinEdit2.Val ue;
StringGrid3.ColCount:=SpinEdit2.Val ue;
end;

procedure TForm1.Button2Click(Sender: TObject);
VAR
A: array [1..100,1..100] of integer;
B: array [1..100] of integer;
C: array [1..100,1..100] of Integer;
i,j,g,min:integer;
begin
StringGrid2.Cols[0].Clear;
begin
for i:=1 to StringGrid1.RowCount do
for j:=1 to StringGrid1.ColCount do
A[i,j]:= StrToInt(StringGrid1.Cells[j-1,i-1]);
begin
for i:=1 to StringGrid1.RowCount do
for j:=1 to StringGrid1.ColCount do
if A[i,j]>0 then
begin
C[i,j]:=A[i,j];
end
else
if A[i,j]<=0 then
C[i,j]:=1;
end;
for i:=1 to StringGrid3.RowCount do
for j:=1 to StringGrid3.ColCount do
StringGrid3.Cells[j-1,i-1]:=IntToStr(C[i,j]);
end;
begin
for i:=1 to StringGrid1.RowCount do
for j:=1 to StringGrid1.ColCount do
C[i,j]:= StrToInt(StringGrid3.Cells[j-1,i-1]);


for i:=1 to StringGrid3.RowCount do
min:= C[i,1];
for j:=1 to StringGrid3.ColCount do
if C[i,j+1]<min then

min:=C[i,j+1];

end;






begin
g:=j;
if g=1 then
b[g]:=min
else
begin
while (g<>1) do
begin
if min>b[g-1] then
begin
b[g]:=b[g-1];
b[g-1]:=min;
g:=g-1;
end
else
begin
b[g]:=min;
g:=1;
end;
end;
end;

end;
for i:=1 to StringGrid2.RowCount do
StringGrid2.Cells[0,i-1]:=IntToStr(b[j]);
end;



procedure TForm1.Button3Click(Sender: TObject);
VAR
f :file;
i,j,x: Integer;
begin
AssignFile(f,'source.dat');
Rewrite(f,1);
x:=SpinEdit1.Value;
BlockWrite(f,x,SizeOf(x));
x:=SpinEdit2.Value;
BlockWrite(f,x,SizeOf(x));
for i:=0 to StringGrid1.ColCount-1 do
for j:=0 to StringGrid2.RowCount-1 do
begin
x:=StrToInt(StringGrid1.Cells[i,j]);
BlockWrite(f,x,SizeOf(x));
end;
CloseFile(f);
end;

procedure TForm1.Button4Click(Sender: TObject);
VAR
f :file;
i,j,x: Integer;
begin
AssignFile(f,'source.dat');
Reset(f,1);
BlockRead(f,x,SizeOf(x));
SpinEdit1.Value:=x;
BlockRead(f,x,SizeOf(x));
SpinEdit2.Value:=x;
for i:=0 to SpinEdit2.Value-1 do
for j:=0 to SpinEdit1.Value-1 do
begin

BlockRead(f,x,SizeOf(x));
StringGrid1.Cells[i,j]:=IntToStr(x);
end;
CloseFile(f);
end;

procedure TForm1.Button5Click(Sender: TObject);
VAR
f:TextFile;
i:integer;
begin
AssignFile(f,'Result.txt');
Rewrite(f);
for i:=0 to StringGrid2.RowCount-1 do
Writeln(f,StringGrid2.Cells[0,i]);
CloseFile(f);
end;

end.

Последний раз редактировалось JackGFG; 06.11.2017 в 22:51.
JackGFG вне форума Ответить с цитированием
Старый 06.11.2017, 18:51   #2
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Сообщений: 101
По умолчанию

вот программа на C++.



#include <iostream>


using namespace std;

int max = 0,
mass[] = {5,23,4,53,67,2,1,9,1222};

int main()
{
for (int i = 0; i < 9; i++)
{

if (mass[i] > max)
{
max = mass[i];
}

}
cout << max << endl;
system("pause");
return 0;
}

Последний раз редактировалось SerEngine; 06.11.2017 в 19:04.
SerEngine вне форума Ответить с цитированием
Старый 06.11.2017, 19:23   #3
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Сообщений: 101
По умолчанию

Цитата:
Сообщение от JackGFG Посмотреть сообщение
Не выходит написать часть, где нужно осуществить поиск минимального значения. Не исправную часть кода выделил красным цветом.
program s1;

var mass: array[1..9] of integer;
var i,j,max:integer;
begin
max:=0;
for i:=1 to 9 do begin
readln(mass[i]);
end;

for j:=1 to 9 do begin
if mass[j]>=max then
max:=mass[j];
end;


writeln(max);
end.




вот код исправный
SerEngine вне форума Ответить с цитированием
Старый 06.11.2017, 20:36   #4
JackGFG
Пользователь
 
Регистрация: 20.08.2017
Сообщений: 12
По умолчанию

Цитата:
Сообщение от SerEngine Посмотреть сообщение
вот программа на C++.



#include <iostream>


using namespace std;

int max = 0,
mass[] = {5,23,4,53,67,2,1,9,1222};

int main()
{
for (int i = 0; i < 9; i++)
{

if (mass[i] > max)
{
max = mass[i];
}

}
cout << max << endl;
system("pause");
return 0;
}
Ну тут ищется максимальное, а мне нужно минимальное из положительных и вставить так, чтобы вошло уже в готовый код, который работает. и язык паскаль

Последний раз редактировалось JackGFG; 06.11.2017 в 22:50.
JackGFG вне форума Ответить с цитированием
Старый 07.11.2017, 11:59   #5
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Сообщений: 101
По умолчанию

program s1;

var mass: array[1..9] of integer;
var i,j,min:integer;
begin
min:=10000;
for i:=1 to 9 do begin
readln(mass[i]);
end;

for j:=1 to 9 do begin
if mass[j]<=min then
min:=mass[j];
end;


writeln(min);
end.

вот находит минимальное.

10000 это число которое может быть максимально введено
SerEngine вне форума Ответить с цитированием
Старый 07.11.2017, 12:00   #6
SerEngine
Форумчанин
 
Регистрация: 28.10.2017
Сообщений: 101
По умолчанию

Цитата:
Сообщение от SerEngine Посмотреть сообщение
program s1;

var mass: array[1..9] of integer;
var i,j,min:integer;
begin
min:=10000;
for i:=1 to 9 do begin
readln(mass[i]);
end;

for j:=1 to 9 do begin
if mass[j]<=min then
min:=mass[j];
end;


writeln(min);
end.

вот находит минимальное.

10000 это число которое может быть максимально введено
просто возьми за основу этот код и сделай свой
SerEngine вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение минимального значения в каждой строке и сортировка. JackGFG Помощь студентам 0 05.11.2017 21:50
Помогите пожалуйста решить две задачки - поиск минимального значения в векторе и поиск/перестановка положительных элементов в матрице Ruslan Rutkovsky Паскаль, Turbo Pascal, PascalABC.NET 6 12.05.2017 23:43
Поиск минимального значения (C++ и Ассемблер) sham63 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 23 29.03.2017 01:05
Срочно!! Нужна помощь с заданием на С++ 70velebi Помощь студентам 9 07.11.2016 15:09
Обработка одномерного массива - поиск среднего, поиск минимального, сортировка (Паскаль) nadez Паскаль, Turbo Pascal, PascalABC.NET 3 18.03.2014 08:45