Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.11.2011, 14:27
kudim kudim вне форума
Прохожий
 
Регистрация: 04.11.2011
Сообщения: 1
Репутация: 10
По умолчанию Массивы

Задача такая:
Составить программу, которая в матрице K(m,n), m<=10, N<=12 меняет местами строки содержащие максимальное количество четных и нечетных элементов? Если во всех строках это количества одинаковы, то поменять местами первую и последнюю строки матрицы. Вывести исходную и полученную матрицы, найденные количества и номера найденных строк.

Получается только до "если во всех строках это количество одинаково".
Помогите пожалуйста!

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  A:array[1..10,1..12] of integer;
  I,J,N,M,Buf,Ichet,Inchet,S:integer;
  C:array[1..12] of integer;
  P:array[1..12] of integer;
begin
Writeln('Vvedita M,N');
Readln(M,n);
Writeln('Vvedite matrizy');
For I:=1 to N do
For J:=1 to M do
begin
Write('a[',i,',',j,']=');
read(a[i,j]);
end;
Writeln('ishodnaya matriza');
For i:=1 to N do
 begin
 For j:=1 to m do
 write(a[i,j],' ');
 writeln;
 writeln;
 end;

   c[i]:=0;
   p[i]:=0;
 For i:=1 to n do
 For j:=1 to m do
  IF  a[i,j] mod 2 = 0 then
  c[i]:=c[i]+1
  else If a[i,j] mod 2 <> 0 then
  P[i]:=p[i]+1;
 Ichet:=1;
 Inchet:=1;
  For I:=1 to m do
  If  I>Ichet then
  Ichet:=I
  else If Inchet<I then
  Inchet:=I;

  s:=0;
  {эта часть проблемная}For I:=1 to N do
  If C[i]=p[i] then
   s:=s+1;

  If s=n then begin
  For I:=1 to N do
  For J:=1 to M do
  begin
  buf:=a[1,j];
  a[1,j]:=a[n,j];
  a[n,j]:=buf;
  end;
  end
  else
  For I:=1 to n do
  For J:=1 to M do
  begin
  Buf:=a[ichet,j];
  a[ichet,j]:=a[inchet,j];
  a[inchet,j]:=buf;
  end;
  readln;
  writeln;
  writeln('Chet');


  For I:=1 to N do
  write(c[i],' ' );
  writeln;
  For I:=1 to N do
  write(p[i],' ' );
  writeln;





  writeln;
  writeln('novaya');
  For i:=1 to n do
 begin
 For j:=1 to m do
 write(a[i,j],' ');
 writeln;
 writeln;
 end;
 readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 04.11.2011 в 14:31.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025