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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2014, 22:28   #1
Steav
Новичок
Джуниор
 
Регистрация: 25.02.2014
Сообщений: 6
По умолчанию Динамический двумерный массив нахождение произведения столбца

В каждом столбце матрицы найти произведение положительных элементов и вычислить сумму этих произведений.
PHP код:
#include <stdio.h>
#include <conio.h>
main ()
{
     
int i,j,n,m;
     
int P,S;
     
puts ("Vvedite N i M:");
     
scanf ("%d %d", &n, &m);
     
int **X=new int *[n];
     for (
i=0i<ni++)
     
X[i]=new int[m];
     for (
i=0i<ni++)
     for (
j=0j<mj++)
         {
               
printf ("Vvedite X[%d][%d]:"i,j);
               
scanf ("%d", &X[i][j]);
               }
     
puts("Matrica X:");
     for(
i=0;i<m;i++)
         { 
               for(
j=0;j<n;j++)
               
printf("%D"X[i][j]);
               
printf("\n");
               }
               
int sum[m];
     for (
i=0i<mi++)
     
P=1;
     for(
int i=0;i<n;i++)
     for(
int j=0;j<n;j++)
     
             if(
X[j][i]>0
             
P*=X[j][i];
             
sum[i]=P;                  
             
S=S+sum[i];
                
      
printf ("Proizvedenie elementov strok=%d , ix summa=%d\n"sum[i], S);
      for(
i=0i<ni++) 
      
delete[]X[i];
      
delete[]X;
      
fflush(stdin);
      
getchar();
      return(
0);

Не выводится сам массив и все остальное, не работает никак. подскажите
Steav вне форума Ответить с цитированием
Старый 25.02.2014, 22:56   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Единственное что могу сказать, что не стоит смешивать код на С с С++. Пройдите код отладчиком и увидите ошибку.
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 25.02.2014, 22:57   #3
Steav
Новичок
Джуниор
 
Регистрация: 25.02.2014
Сообщений: 6
По умолчанию

Компилятор не выдает никаких ошибок, выполняется но не выводит.
Steav вне форума Ответить с цитированием
Старый 25.02.2014, 23:04   #4
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Вы знаете что такое отладчик?

Да и кстати почему в первом случае
Код:
 
for (i=0; i<n; i++)
{
    for (j=0; j<m; j++)
    {
          printf ("Vvedite X[%d][%d]:", i,j);
          scanf ("%d", &X[i][j]);
    }
}
во внешнем цикле i < n,а во внутреннем j < m, а во втором случае наоборот?
Код:
 
for(i=0;i<m;i++)
{ 
    for(j=0;j<n;j++)
    {
        printf("%D", X[i][j]);
        printf("\n");
    }
}
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 25.02.2014 в 23:09.
kineziz вне форума Ответить с цитированием
Старый 25.02.2014, 23:08   #5
Steav
Новичок
Джуниор
 
Регистрация: 25.02.2014
Сообщений: 6
По умолчанию

Я в DEV запускал отладчик ни чего не показал
Steav вне форума Ответить с цитированием
Старый 25.02.2014, 23:10   #6
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Проверяйте заполнение массива, какие туда входят значения после ввода и входят ли они вообще
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 25.02.2014, 23:14   #7
Steav
Новичок
Джуниор
 
Регистрация: 25.02.2014
Сообщений: 6
По умолчанию

Ну с выводом массива я разобрался, а вот произведение выдается не массивом а числом
Steav вне форума Ответить с цитированием
Старый 25.02.2014, 23:34   #8
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Код:
for(int i=0;i<n;i++)
{
     for(int j=0;j<n;j++)
     {
             if(X[j][i]>0) 
             P*=X[j][i];
             sum[i]=P;                  
             S=S+sum[i];
      }
}
Тут везде i < n и j < n

Я конечно С не особо знаю, я по С++, но вроде в функцию ты передаешь не массив и число под определенным индексом sum[i]

Код:
printf ("Proizvedenie elementov strok=%d , ix summa=%d\n", sum[i], S);
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 25.02.2014, 23:48   #9
alekopoko
Форумчанин
 
Регистрация: 03.04.2013
Сообщений: 167
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
int main ()
{
     int i,j,n,m;
	 m=0;
     int P=1,S=0;
     puts ("Vvedite N i M:");
     scanf ("%d %d", &n, &m);
     int **X=new int *[n];
     for (i=0; i<n; i++)
     X[i]=new int[m];
     for (i=0; i<n; i++)
     for (j=0; j<m; j++)
         {
               printf ("Vvedite X[%d][%d]:", i,j);
               scanf ("%d", &X[i][j]);
          }
     puts("Matrica X:");
     for(i=0;i<m;i++)
         { 
               for(j=0;j<n;j++)
               printf("%d", X[i][j]);
               printf("\n");
         }
     for(int i=0;i<n;i++)
	 {
		 for(int j=0;j<n;j++)
		 {
	     
				 if(X[j][i]>0) 
				 P*=X[j][i];
		 }
		 S=S+P;
	 printf ("Proizvedenie elementov %d stolbtsa=%d\n",i+1, P);
	  P=1;
	 }
	  printf ("ix summa=%d\n",S);
      for(i=0; i<n; i++) 
      delete[]X[i];
      delete[]X;
      fflush(stdin);
      getchar();
      return(0);
}
alekopoko вне форума Ответить с цитированием
Старый 26.02.2014, 00:07   #10
Steav
Новичок
Джуниор
 
Регистрация: 25.02.2014
Сообщений: 6
По умолчанию

Оно первый столбец перемножает со вторым и потом с третьим, а мне нужно что бы выводило произведение каждого отдельного столбца
Steav вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный динамический массив revizor C++ Builder 1 02.05.2013 22:08
Динамический двумерный массив в c++ 1apre Помощь студентам 2 06.04.2013 15:13
динамический двумерный массив Ilya_L Помощь студентам 3 28.09.2011 04:29
Двумерный динамический массив Markuss Помощь студентам 6 07.12.2010 09:29
Двумерный динамический массив Inna_L Общие вопросы C/C++ 2 01.10.2010 23:27