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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2010, 11:52   #1
Paradigma
Новичок
Джуниор
 
Регистрация: 31.03.2010
Сообщений: 3
По умолчанию Алгоритм.

Есть код:

Код:
var a:array[0..10,1..10]of integer; i,j,imin,imax,min,max,s:integer;
begin 
randomize; for i:=1 to 10 do for j:=1 to 10 do a[i,j]:=random(199)-99; 
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j]:4); writeln end;
s:=0; for i:=1 to 10 do if a[i,i]>0 then inc(s); writeln('S=',s); 
min:=a[1,1]; max:=a[1,1]; imin:=1; imax:=1; 
for i:=1 to 10 do for j:=1 to 10 do 
  begin if a[i,j]<min then begin min:=a[i,j]; imin:=i end; 
        if a[i,j]>max then begin max:=a[i,j]; imax:=i end;
  end;
writeln('imin=',imin,'  min=',min,'  imax=',imax,'  max=',max); writeln;
a[0]:=a[imin]; a[imin]:=a[imax]; a[imax]:=a[0]; 
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j]:4); writeln end;
readln 
end.

Помогите составить алгоритм.. Желательно сегодня = (

Последний раз редактировалось Stilet; 31.03.2010 в 14:20.
Paradigma вне форума Ответить с цитированием
Старый 31.03.2010, 13:01   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Paradigma Посмотреть сообщение
Есть код:

var a:array[0..10,1..10]of integer; i,j,imin,imax,min,max,s:integer;
begin
randomize; for i:=1 to 10 do for j:=1 to 10 do a[i,j]:=random(199)-99;
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j]:4); writeln end;
s:=0; for i:=1 to 10 do if a[i,i]>0 then inc(s); writeln('S=',s);
min:=a[1,1]; max:=a[1,1]; imin:=1; imax:=1;
for i:=1 to 10 do for j:=1 to 10 do
begin if a[i,j]<min then begin min:=a[i,j]; imin:=i end;
if a[i,j]>max then begin max:=a[i,j]; imax:=i end;
end;
writeln('imin=',imin,' min=',min,' imax=',imax,' max=',max); writeln;
a[0]:=a[imin]; a[imin]:=a[imax]; a[imax]:=a[0];
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j]:4); writeln end;
readln
end.


Помогите составить алгоритм.. Желательно сегодня = (
А ты не пробовал программу писать в одну строку? Прикольно читается!!!
И даже шифровать ничего не надо! Хрен кто что поймет!
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 31.03.2010, 13:09   #3
Paradigma
Новичок
Джуниор
 
Регистрация: 31.03.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
А ты не пробовал программу писать в одну строку? Прикольно читается!!!
И даже шифровать ничего не надо! Хрен кто что поймет!
Я здесь хочу увидеть адекватный ответ. Если не знаешь - лучше промолчи. И да, я девушка.
Paradigma вне форума Ответить с цитированием
Старый 31.03.2010, 13:28   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Paradigma, даже если Вы — девушка, вежливость не будет излишней!

2) по сути вопроса,если я правильно понял, Вам нужна блок-схема? Если да, тогда поиском поищите на форуме по ключевому слову FCEditor

3) Вам совершенно справедливо заметили, что лучше программу форматировать так, чтобы она была ЧИТАБЕЛЬНОЙ!
например, так:
Код:
var a: array[0..10, 1..10] of integer; 
    i, j, imin, imax, min, max, s: integer;
begin
  randomize;
  for i := 1 to 10 do
    for j := 1 to 10 do
      a[i, j] := random(199) - 99;
  for i := 1 to 10 do
  begin
    for j := 1 to 10 do write(a[i, j]: 4);
    writeln
  end;
  s := 0;
  for i := 1 to 10 do
    if a[i, i] > 0 then inc(s);
  writeln('S=', s);
  min := a[1, 1];
  max := a[1, 1];
  imin := 1;
  imax := 1;
  for i := 1 to 10 do
    for j := 1 to 10 do
    begin
      if a[i, j] < min then
      begin
        min := a[i, j];
        imin := i
      end;
      if a[i, j] > max then
      begin
        max := a[i, j];
        imax := i
      end;
    end;
  writeln('imin=', imin, ' min=', min, ' imax=', imax, ' max=', max);
  writeln;
  a[0] := a[imin];
  a[imin] := a[imax]; a[imax] := a[0];
  for i := 1 to 10 do
  begin
    for j := 1 to 10 do
      write(a[i, j]: 4);
    writeln
  end;
  readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2010, 13:30   #5
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Код:
var a: array[0..10,1..10] of integer;
i, j, xmax, xmin, ymin, ymax, min, max, s :integer;
begin 
	randomize;
	for i := 1 to 10 do
		for j := 1 to 10 do
		a[i,j] := random(199) - 99; 
		
	for i := 1 to 10 do begin
		for j := 1 to 10 do
			write(a[i,j] : 4);
			writeln;
	end;
	s:=0;
	for i := 1 to 10 do
		if a[i,i] > 0 then 
			inc(s); writeln('S=', s); 
		
	min := a[1,1];
	max := a[1,1];
	xmin := 1;
	xmax := 1;
	ymin := 1;
	ymax := 1;
	
	for i := 1 to 10 do
		for j := 1 to 10 do begin
			if a[i,j] < min then begin
				min := a[i,j];
				xmin := i;
				ymin := j;
			end; 
			if a[i,j] > max then begin
				max := a[i,j];
				xmax := i;
				ymax := j;
			end;
	end;
	writeln('xmin=', xmin, ' xmax=', xmax, ' ymin=', ymin, ' ymax=', ymax, ' min=', min, ' max=', max); writeln;
end.

Только я вот чего не пойму... вот эта часть, это попытка отсортировать массив?
Код:
a[0]:=a[imin]; a[imin]:=a[imax]; a[imax]:=a[0]; 
for i:=1 to 10 do begin for j:=1 to 10 do write(a[i,j]:4); writeln end;
кстати, массив двумерный, даже, если бы алгоритм сортировки был написан правильно, такая штука не сработала бы.
Tirendus вне форума Ответить с цитированием
Старый 31.03.2010, 14:14   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
кстати, массив двумерный,
+1

Цитата:
Код:
	xmin := 1;
	xmax := 1;
	ymin := 1;
	ymax := 1;
это, кстати, тоже нерабочий бред..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2010, 15:25   #7
Paradigma
Новичок
Джуниор
 
Регистрация: 31.03.2010
Сообщений: 3
По умолчанию

Это не я писала. И ответила в таком же тоне, как ответили и мне. а за "FCEditor" спасибо.
Paradigma вне форума Ответить с цитированием
Старый 31.03.2010, 16:01   #8
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Serge_Bliznykov

Вчитайтесь в тот код, который выложил я, этот "нерабочий бред" находит индексы минимальных элементов массива.

Paradigma
Не сразу понял, что вам нужна блок-схема, но FCEditor не поможет, если код будет нерабочим.
Tirendus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм А* Claster Помощь студентам 1 24.05.2011 18:45
Алгоритм Aндрей Общие вопросы C/C++ 1 21.02.2010 18:49
Алгоритм lonevagrant Общие вопросы C/C++ 0 19.01.2010 22:04
Алгоритм VladimirAleks Помощь студентам 2 29.10.2009 13:11