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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 16:39   #1
Skvot
 
Регистрация: 28.12.2008
Сообщений: 3
По умолчанию Ребят решите пожалуйста 3 задачи

Матрица
1.Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали
Строки
2.Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Массив
3.Дан массив X(N). Переписать в массив Y подряд положительные и в массив Z отрицательные эле-менты массива Х, при N<=24.

Ребят помогите пожалуйста решить, если можно то с блок схемой
Skvot вне форума Ответить с цитированием
Старый 21.01.2009, 16:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

2. Примерно так:
Код:
var s,m:string;i,j:integer;
begin
s:='qwe rtert rtye rtyrt yu retert ygb fds ';
J:=1;
for i:=1 to length(s) do begin
 if (s[i]=' ') then begin
 if (i-j=3) then begin
  m:=copy(s,j,i-j);
  writeln(m);
  end;
  j:=i+1;
 end;
end;
readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2009, 17:04   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Третья:
Код:
uses crt;
const nMAX=24;
var
x,y,z : array[1..nMAX] of integer;
i,yj,zj,n : integer;
begin
clrscr;
write('Enter N: ');
readln(n);
if n>nMAX then n:=nMAX;
yj:=0;
zj:=0;
for i:=1 to n do
  begin
  write('Enter x[',i,']: ');
  readln(x[i]);
   if x[i]>0 then
     begin
     inc(yj);
     y[yj] := x[i];
     end
   else if x[i]<0 then
     begin
     inc(zj);
     z[zj] := x[i];
     end;
  end;
writeln;
if yj>0 then
  begin
  writeln('Elementy y:');
  for i:=1 to yj do
    write(y[i]:4);
  end;
writeln;
if zj>0 then
  begin
  writeln('Elementy z:');
  for i:=1 to zj do
    write(z[i]:4);
  end;
if (zj=0) and (yj=0) then writeln('Vse elementy nulevye');
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.01.2009, 17:10   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Первая:
Код:
uses crt;
const n=5;
var
a : array[1..n,1..n] of integer;
i,j,maxj,tmp : integer;
begin
clrscr;
randomize;
for i:=1 to n do
  begin
  for j:=1 to n do
    begin
    a[i,j] := random(20)-4;
    write(a[i,j]:4);
    end;
  writeln;
  end;
writeln('------');
for i:=1 to n do
  begin
  maxj := 1;
  for j:=1 to n do
    if a[i,j]>a[i,maxj] then maxj := j;
  tmp := a[i,maxj];
  a[i,maxj] := a[i,i];
  a[i,i] := tmp;
  end;
{----}
for i:=1 to n do
  begin
  for j:=1 to n do
   write(a[i,j]:4);
  writeln;
  end;
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.01.2009, 17:46   #5
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Вот мой вариант 3 задачи:
Код:
Var a,y,z:array [1..24] of integer;
I,j,m,n:integer;
Begin
Write('Vvedite N ');
Readln(n);
If n>24 then n:=24;
For i:=1 to n do 
Begin
Read (a[i]);
End;
Writeln('----');
For i:=1 to n do
Case a[i] of
-1000..-1:begin inc(j); z:=a[j]; end;
1..1000:begin inc(m); y:=a[m]; end;
End; 
For i:=1 to j do write(z[i],' ');
Writeln('----');
For i:=1 to m do write(y[i],' ');
Readln
End.

Последний раз редактировалось pomoshnic; 21.01.2009 в 17:49.
pomoshnic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОЖАЛУЙСТА!РЕШИТЕ ЗАДАЧИ! PAVEL-94 Паскаль, Turbo Pascal, PascalABC.NET 0 25.12.2008 14:59
Решите пожалуйста две задачи. Bagsi Помощь студентам 5 26.10.2007 10:46