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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2015, 16:04   #1
АнастасияМММ
 
Регистрация: 01.04.2015
Сообщений: 5
По умолчанию массивы и работа с ними

. Дана вещественная прямоугольная матрица размера M*N.
• Упорядочить столбцы матрицы по возрастанию суммы положительных элементов столбцов методом прямого включения.
• Определить минимум среди сумм положительных элементов столбцов.
• Исходные данные и результаты вывести на экран.

код программы:

Код:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#define M 3
# define N 3
void main()
{
  clrscr();
  int i, j;

  int **a;
  a=new int*[M];
  for (int i=0;i<M;i++)
  a[i] = new int[N];

  for (i=0;i<M;i++)
  for (int j=0;j<N;j++)
  {
    cout<<"Vvedite element "<<i<<" stroki "<<j<<" stolbca "<<endl;
    cin>>a[i][j];
  }
  cout<<endl;

  for (i=0;i<M;i++)
  {
    for (int j=0;j<N;j++)
    {
      cout<<setw(5)<<a[i][j];
    }
    cout<<endl;
  }
  cout<<endl;

  int sum1, sum2;
  int t;
  int flag=1;

  do {

  flag=0;
   for(j=0;j<N;j++)
   {
     sum1=sum2=0;

     for(int i=0;i<M-1;i++)
      {
       sum1+=a[i][j];
       sum2+=a[i][j+1];
      }

     if (sum1>=sum2)
       {
	flag++;
	for(i=0;i<M;i++)
	{
	t=a[i][j];
	a[i][j]=a[i][j+1];
	a[i][j+1]=t;
	}
       }
     }
   } while (flag!=0);


  cout<<endl;

  for (i=0;i<M;i++)
  {
    for (int j=0;j<N;j++)
    {
      cout<<setw(5)<<a[i][j];
    }
    cout<<endl;
  }

помогите выполнить второе условие задачи

Последний раз редактировалось Serge_Bliznykov; 01.04.2015 в 16:26.
АнастасияМММ вне форума Ответить с цитированием
Старый 01.04.2015, 17:14   #2
it_dog
Пользователь
 
Регистрация: 02.03.2015
Сообщений: 13
По умолчанию

так а что трудного то?

Последний раз редактировалось it_dog; 01.04.2015 в 17:16.
it_dog вне форума Ответить с цитированием
Старый 01.04.2015, 17:19   #3
АнастасияМММ
 
Регистрация: 01.04.2015
Сообщений: 5
По умолчанию

Код:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>

#define M 3
# define N 3
void main()
{
  clrscr();
  int i, j, buf;

  int **a;
  a=new int*[M];
  for (int i=0;i<M;i++)
  a[i] = new int[N];

  for (i=0;i<M;i++)
  for (int j=0;j<N;j++)
  {
    cout<<"Vvedite element "<<i<<" stroki "<<j<<" stolbca "<<endl;
    cin>>a[i][j];
  }
  cout<<endl;

  for (i=0;i<M;i++)
  {
    for (int j=0;j<N;j++)
    {
      cout<<setw(5)<<a[i][j];
    }
    cout<<endl;
  }
  cout<<endl;

  int sum1, sum2;
  int t;
  int flag=1;

  do {

  flag=0;
   for(j=0;j<N;j++)
   {
     sum1=sum2=0;

     for(int i=0;i<M-1;i++)
      {
       sum1+=a[i][j];
       sum2+=a[i][j+1];
      }

     if (sum1>=sum2)
       {
	flag++;
	for(i=0;i<M;i++)
	{
	t=a[i][j];
	a[i][j]=a[i][j+1];
	a[i][j+1]=t;
	}
       }
     }
   } while (flag!=0);


  cout<<endl;

  for (i=0;i<M;i++)
  {
    for (int j=0;j<N;j++)
    {
      cout<<setw(5)<<a[i][j];
    }
    cout<<endl;
  }

  int *sum, g,s;
 sum=new int[M];
 for(g=0;g<M;g++)
    sum[g]=0;

 for(j=0;j<M;j++)
 {  s=0;
     for(i=0;i<N;i++)
      { if(a[i][j]>0)
        s=s+a[i][j];
       }
     sum[j]=s;
   }

 cout<<"Summa polozhitelnih elementov stolbcov  massiva: "<<endl;
  for(i=0;i<M;i++)
     cout<<"\t"<<sum[i];
 cout<<endl<<endl;

 int min = sum[0];
for (g=1; g<M; g++)
     for(i=0; i<M-g; i++)
   for(int i = 1; i < M; i++)
    if(sum[i] < min) min = sum[i];

     cout<<"Minimum sredi summ polozhitelnih elementov stolbcov: \n";
     cout<<setw(5)<<min;


  getch ();
}

так правильно?)

Последний раз редактировалось Stilet; 01.04.2015 в 17:32.
АнастасияМММ вне форума Ответить с цитированием
Старый 01.04.2015, 17:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так правильно?)
Имеешь возможность запустить программу? Что она покажет во время работы?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.04.2015, 17:36   #5
АнастасияМММ
 
Регистрация: 01.04.2015
Сообщений: 5
По умолчанию

http://cs625617.vk.me/v625617037/28a2e/mWfZaTXmV0k.jpg
на мой взгляд, все верно
АнастасияМММ вне форума Ответить с цитированием
Старый 01.04.2015, 20:00   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Отлично )
Значит все ок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.04.2015, 09:02   #7
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Вот только вручную задавать элементы - это тяжёлый труд. Лучше хранить в файле
8Observer8 вне форума Ответить с цитированием
Старый 04.04.2015, 15:13   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

8Observer8 зачем же так усложнять....
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы и работа с ними Цвято4ек C++ Builder 1 16.04.2012 23:30
Маршруты и работа с ними. С++ CAHEK_Haus Помощь студентам 4 29.05.2011 14:49
Одномерные массивы и операции с ними. swillrocker Помощь студентам 6 12.05.2011 17:20
динамические массивы, функции с ними наталья94 Помощь студентам 0 10.05.2011 21:32
Классы и работа с ними Airou Общие вопросы C/C++ 1 16.10.2010 04:53