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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2014, 09:34   #1
Julia1
Пользователь
 
Регистрация: 03.02.2014
Сообщений: 14
По умолчанию в paskale эта программка у меня получается, а вот в с++ ни как...

Дана вещественная матрица размерности (n x m). Вывести номера столбцов, содержащих только отрицательные элементы.(все массивы в программе должны быть динамическими)

Код:
Uses crt;
const Nmax = 10;
type Matrix = array [ 1 .. Nmax , 1 ..Nmax ] of real;
   var
     Mas: Matrix;
     i, j, n, m, index, count: integer;
   begin
     clrscr;
      repeat
     write('Enter n( 2<=n<=10 ):');readln(n);
     write('Enter n( 2<=m<=10 ):');readln(m);
     until ( n in [ 2 .. 10 ] ) and ( m in [ 2 .. 10 ] );
 
      for i:=1 to n do begin
      for j:=1 to m do begin
     write('Mas[',i,',',j,']= ');readln(Mas[i,j]);
 end;
end;
 
clrscr;
 
for i:=1 to n do begin
 for j:=1 to m do begin
     write(Mas[i,j]:0:0,' ');
 end;
writeln;
end;
 
writeln;
for j:=1 to m do begin
count:=0;
 for i:=1 to n do
if ( Mas[i,j] < 0 ) then inc(count);
     if ( count = m ) then write(j,' ');
end;
 
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.
Julia1 вне форума Ответить с цитированием
Старый 03.06.2014, 10:04   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Решение не соответствует условию. Массив(ы) в данной программе статические, а не динамические.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 03.06.2014, 10:28   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Создаём динамический массив N x M.
Код:
double **Matrix; Matrix = new double *[N];
for(int i=0; i<N; i++) Matrix[i] = new double[M];

// Зесь, работа с массивом

for(int i=0; i<N; i++) delete Matrix;
А дальше, работаем с ним, как с обычным массивом.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 03.06.2014 в 10:35.
Smitt&Wesson вне форума Ответить с цитированием
Старый 03.06.2014, 10:59   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Вот ссылка для примера...
http://programmersforum.ru/showthread.php?t=261900
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему эта программка не компилируется (Си)? Kingmoan Помощь студентам 9 20.04.2011 23:48