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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 13:41   #1
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
Стрелка двумерный массив delphi7 Вознаграждение

Здравствуйте!

Помогите пожалуйста разобраться с программкой.
Гарантированное Вознаграждение будет каждому!

Вычислить количество положительных и отрицательных элементов каждой строки матрицы B (nxm) . Записать эту информацию в два вектора: C и D

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

Код:

program Rabota619;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

Var

i,j,m,s,n,h,k,g:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1
c:array[1..10] of integer;
d:array[1..10] of integer;

begin

writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(x[i,j]);
 k:=0;g:=0;
for i:=1 to n do
  for j:=1 to m do
    begin
      if x[i,j]<0 then begin
	               k:=k+1;
		       c[k]:=x[i,j];
 		     end;
      if x[i,j]>0 then begin
	 	       g:=g+1;
		       d[g]:=x[i,j];
		     end; end;
writeln('Kolichetvo jelementov menshe nulja v kazhdoj stroke massiva X');
for i:=1 to k do
  write(c[i],' ');
writeln('Kolichetvo jelementov bolshe nulja v kazhdoj stroke massiva X');
for i:=1 to g do
  write(d[i],' ');


Readln;
end.
Заранее Спасибо!
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru

Последний раз редактировалось warma2d; 15.12.2010 в 18:05.
warma2d вне форума Ответить с цитированием
Старый 15.12.2010, 14:06   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

В чем разобраться? просто добавить вывод количества положительных и отрицательных элементов?
Готов помочь
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 15.12.2010, 14:11   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,718
По умолчанию

Код:
for i:=1 to k do
  write(c[i],' ');
Код:
for i:=1 to g do
  write(d[i],' ');
Убрать.

Код:
writeln('Kolichetvo jelementov menshe nulja v kazhdoj stroke massiva X: ', k);
Код:
writeln('Kolichetvo jelementov bolshe nulja v kazhdoj stroke massiva X: ', g);
p51x вне форума Ответить с цитированием
Старый 15.12.2010, 18:04   #4
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

p51x спасибо за ответ.

Сделал вот так, как посоветовали и всё равно не считает не считает

Код:
program Rabota619;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

Var

i,j,m,s,n,h,k,g:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1
c:array[1..10] of integer;
d:array[1..10] of integer;

begin

writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(x[i,j]);
 k:=0;g:=0;
for i:=1 to n do
  for j:=1 to m do
    begin
      if x[i,j]<0 then begin
	               k:=k+1;
		       c[k]:=x[i,j];
 		     end;
      if x[i,j]>0 then begin
	 	       g:=g+1;
		       d[g]:=x[i,j];
		     end; end;
for i:=1 to k do
  write(c[i], ' ');


for i:=1 to g do
  write(d[i], ' ');


Readln;
end.
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru
warma2d вне форума Ответить с цитированием
Старый 15.12.2010, 18:13   #5
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Напиши на почту Planetdigits@mail.ru Разберемся.
Ybn2 вне форума Ответить с цитированием
Старый 15.12.2010, 18:24   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

лови
Код:
Var

i,j,m,s,n,h,k,g:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1
c:array[1..10] of integer;
d:array[1..10] of integer;

begin

writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(x[i,j]);
for i:=1 to n do begin
c[i]:=0;d[i]:=0;
  for j:=1 to m do
    begin
      if x[i,j]<0 then
	               c[i]:=c[i]+1;

      if x[i,j]>0 then
	 	       d[i]:=d[i]+1; end;
end;
writeln('Kolichetvo jelementov menshe nulja v kazhdoj stroke massiva X');
for i:=1 to n do
  write(c[i],' ');
writeln('Kolichetvo jelementov bolshe nulja v kazhdoj stroke massiva X');
for i:=1 to n do
  write(d[i],' ');
Readln;
end.
вознаграждение получено
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 15.12.2010 в 20:28.
Mad_Cat вне форума Ответить с цитированием
Старый 16.12.2010, 12:42   #7
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Честно говоря последний вариант от Mad_cat'a я так и не понял, так что
Код:
Var i,j,m,s,n,h,k,g:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1
c:array[1..100] of integer;
d:array[1..100] of integer;

begin

writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(x[i,j]);
 k:=0;g:=0;
for i:=1 to n do
  for j:=1 to m do
    begin
      if x[i,j]<0 then begin
	               k:=k+1;
		       c[k]:=x[i,j];
 		     end;
      if x[i,j]>0 then begin
	 	       g:=g+1;
		       d[g]:=x[i,j];
		     end; 
     end;
writeln('Массив из элементов меньших нуля');
for i:=1 to k do
  write(c[i], ' ');
writeln('Массив из элементов больше нуля');
for i:=1 to g do
  write(d[i], ' ');
writeln('Количество элементов больше нуля ',g);
writeln(Количество элементов меньше нуля ',k);
Readln;
end.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 25.02.2011, 19:44   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка

вот и массивы и циклы и оптимизация
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils,
math;

Procedure Polar(a,b: real; var c,d: real);
begin
c:=sqrt(sqr(a)+sqr(b));
d:=arctan(b/a);
end;

var
XYZ, xyzP: array [1..3,1..3] of real;
i, j: integer;
sp: real;
begin

for i := 1 to 3 do
begin
writeln('Tochki ' + Chr(87 + i));
for j := 1 to 2 do
begin
write(Chr(87 + i) + IntToStr(j) + '=');
readln(XYZ[j,i]);
end;
Polar(XYZ[1,i],XYZ[2,i],xyzP[1,i],xyzP[2,i]);
xyzP[3,i] := 87 + i;
end;

writeln('Polar coord:');
for i := 1 to 3 do
writeln('Tochka ' + Chr(87 + i) +'{P=',xyzP[1,i]:2:2,'; Fi=',xyzP[2,i]:2:2,'');

writeln('Sort:');
for i := 1 to 2 do
for j := i + 1 to 3 do
if xyzP[1,i] > xyzP[1,j] then
begin
sp := xyzP[1,i];
xyzP[1,i] := xyzP[1,j];
xyzP[1,j] := sp;
sp := xyzP[2,i];
xyzP[2,i] := xyzP[2,j];
xyzP[2,j] := sp;
sp := xyzP[3,i];
xyzP[3,i] := xyzP[3,j];
xyzP[3,j] := sp;
end;

for i := 1 to 3 do
writeln('' + Chr(Trunc(xyzP[3,i])) + '{ P=',xyzP[1,i]:2:2,'; Fi=',xyzP[2,i]:2:2,'}');

readln;
end.
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 26.02.2011, 20:21   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ArtGrek,
Вы зачем тему 3-месячной давности, да ещё и во фрилансе поднимаете?!


flash_kpi, это Вы кому пишите? Неважно? Читать некогда? Только писать время есть?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерный массив delphi7 warma2d Помощь студентам 4 30.11.2010 00:57
Двумерный Массив Delphi7 warma2d Помощь студентам 12 19.11.2010 17:01
Одномерный Массив Delphi7 warma2d Помощь студентам 8 16.11.2010 16:02
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40