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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 12:21   #1
Лучик2009
Пользователь
 
Регистрация: 22.04.2009
Сообщений: 26
По умолчанию Java помогите с задачами по jave

. Дана действительная квадратная матрица порядка n. Построить последовательность действительных чисел A1, A2, ..., An по следующему правилу: если i - тая строка матрицы упорядочена по возрастанию, то Ai равно 1; в противном случае Ai равно максимальному элементу строки, если в ней есть нулевые элементы, или минимальному если таких элементов нет.
Разработать и использовать в программе метод заполнения матрицы случайными числами от -15.0 до 35.0, метод вывода матрицы на печать,

2. Дан двумерный целочисленный массив. Упорядочить строки матрицы по убыванию количества нечетных элементов в строке. Сортировка методом выбора. Найти максимальный для всей матрицы элемент и номер строки и столбца, в котором он находится.
Очень нужно
Заранее спасибо
Лучик2009 вне форума Ответить с цитированием
Старый 22.04.2009, 17:14   #2
Лучик2009
Пользователь
 
Регистрация: 22.04.2009
Сообщений: 26
По умолчанию

Люди помогите пожалуйста очень надо
Или может дайте алгоритмы поиска или ссылки на литературу где это можно найти
Лучик2009 вне форума Ответить с цитированием
Старый 22.04.2009, 17:30   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Java не стоит. Алгоритм примерно такой (после заполнения матрицы).
Код:
for(i=0; i<n; i++)
 {
 vozrast = true;
 estnuli = false;
 max = matr[i][0];
 min = matr[i][0];
 if(matr[i][0]==0) estnuli = true;
 for(j=1; j<n; j++)
  {
   if(matr[i][j]<matr[i][j-1]) vozrast = false;
   if(matr[i][j]==0) estnuli = true;
   if(matr[i][j]>max) max = matr[i][j];
   if(matr[i][j]<min) min = matr[i][j];
  }
 if(vozrast) A[i] = 1;
 else if(estnuli) A[i] = max;
 else A[i] = min;
 }
Думаю, разберетесь какого типа тут переменные.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.04.2009, 23:27   #4
Лучик2009
Пользователь
 
Регистрация: 22.04.2009
Сообщений: 26
По умолчанию

А со второй Задачей не поможете?
Лучик2009 вне форума Ответить с цитированием
Старый 23.04.2009, 00:02   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

По второй.

Будем писать количества нечетных элементов каждой строки в N-й столбец. С тем же успехом можно воспользоваться дополнительным массивом.

Код:
for(i=0; i<M; i++)
 for(mas[i][N]=0,j=0; j<N; j++)
  if(mas[i][j]%2!=0) mas[i][N]++;
Потом сортировка:
Код:
for(i=0; i<M-1; i++)
 {
  for(t=i, k=i+1; k<M; k++)
   if(mas[k][N]>mas[t][N]) t = k;
  for(j=0; j<N+1; j++)
   {
   tmp = mas[i][j];
   mas[i][j] = mas[t][j];
   mas[t][j] = tmp;
   }
Ищем максимум и минимум:
Код:
maxi = maxj = mini = minj = 0;
for(i=0; i<M; i++)
 for(j=0; j<N; j++)
  {
   if(mas[i][j]>mas[maxi][maxj])
    { maxi = i; maxj = j; }
   if(mas[i][j]<mas[mini][minj])
    { mini = i; minj = j; }
  }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.04.2009, 00:35   #6
Лучик2009
Пользователь
 
Регистрация: 22.04.2009
Сообщений: 26
По умолчанию

Спасибо Большое
Лучик2009 вне форума Ответить с цитированием
Старый 25.11.2009, 15:55   #7
F@got
 
Регистрация: 23.11.2009
Сообщений: 5
По умолчанию

помогите пожалуйста! написать тоже самое что во второй задаче только сортировка по возрастанию и на Delphi!
F@got вне форума Ответить с цитированием
Старый 12.12.2009, 23:52   #8
F@got
 
Регистрация: 23.11.2009
Сообщений: 5
По умолчанию

вот что у меня получилось
Код HTML:
procedure TForm1.Button1Click(Sender: TObject);
var a:array of array of integer;
    b:array of array of integer;
    p:array of integer;
    q:array of integer;
    m,n,i,j,h,min,y,z,k,x:integer;
begin
N:=StrToInt(Edit1.text);
M:=StrToInt(edit2.text);
StringGrid1.colcount:=n;
StringGrid1.rowcount:=m;
StringGrid2.colcount:=n;
StringGrid2.rowcount:=m;
SetLength(a,n,m);
SetLength(b,n,m);
SetLength(p,n);
SetLength(q,n);
for I := 0 to N-1 do
for j := 0 to M-1 do  A[i,j]:=random(40);

for I := 0 to N-1 do
for j := 0 to M-1 do StringGrid1.Cells[j,i]:=IntToStr (a[i,j]);

for I := 0 to N-1 do begin k:=0;
for j := 0 to M-1 do if A[i,j]mod 2 = 1 then k:=k+1;
                         p[i]:=k; q[i]:=i;
                   end;
for h := 1 to N - 1 do begin min:=q[h];
                             x:=h+1;
for i := x to N do if min>p[i] then begin y:=min; min:=p[i]; p[i]:=y;
                                          z:=q[h]; q[h]:=q[i]; q[i]:=z;
                                    end;
                        end;
for h := 0 to n-1 do
for i := 0 to n-1 do
for j := 0 to m-1 do
B[i,j]:=a[q[h],j];
for i := 0 to n-1 do
for j := 0 to m-1 do
stringgrid2.cells[j,i]:=IntToStr(B[i,j]);
end;

end.
прога работает но считает не то что надо! она у меня выводит первой строкой последнюю строку введенного массива, а во все остальные строки копирует ее!

Последний раз редактировалось F@got; 13.12.2009 в 18:25.
F@got вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задачами щдуп Паскаль, Turbo Pascal, PascalABC.NET 1 26.06.2008 18:39
Помогите с задачами. GodsAndGlory Общие вопросы C/C++ 1 26.05.2008 19:01