Форум программистов, компьютерный форум CyberForum.ru

Сортировка столбцов матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на разбиение диапазона значений чисел на равные интервалы с подсчетом их количества в каждом из них http://www.cyberforum.ru/cpp-beginners/thread799155.html
Помогите пожалуйста с задачкой. Сама С++ совсем не понимаю, да и в программировании новичок. Для набора целых чисел из текстового файла разбить диапазон значений на 10 равных интервалов и подсчитать количество значений, попавших в эти диапазоны. Найти диапазон с максимальным и минимальным заполнением. Результаты вывести на консоль.
C++ При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. Алгоритм нахождения максимальной длины сиракузской последоваетльности среди чисел до миллиона: int MaxLen(const long unsigned int limit) { term = 1; length = 1; long unsigned int maxLen = 1; for (long unsigned int i = 2; i <= limit; ++i) { //cout << term << ' ' << length << endl; int thisLen = len(i); if (maxLen < thisLen) { maxLen =... http://www.cyberforum.ru/cpp-beginners/thread799146.html
C++ Повторное воспроизведение
Доброго времени суток! Подскажите, пожалуйста, как сделать так, чтобы в консольке после выполнения всего, что было задано, нажал на любую кнопку ( как этого просит консоль), чтобы закрыть консольку, но она открывалась заново?А закрывалась полностью только с ? З.Ы. Если так вообще можно :)
Дан массив вещественных чисел.Все элементы массива с четными номера заменить на их абсолютную величину. C++
Дан массив вещественных чисел.Все элементы массива с четными номера заменить на их абсолютную величину. #include<stdio.h> #include<stdlib.h> int main() { int a; int i; for(i=0;i<5;i++) scanf("%i",&a); for (i=0;i<5;i++) {
C++ Передвижение по строке http://www.cyberforum.ru/cpp-beginners/thread799114.html
Здравствуйте, есть такая проблемка: Вот например есть строка: char* string = "Text=Text2"; Чтобы пробежаться по символам и найти знак '=' я делаю так: while(*string) { if(*string != '=') { ++string; }
C++ Описать процедуру TrianglePS, вычисляющую по стороне равностороннего треугольника его периметр, площадь и квадрат Помогите пожалуйста ошибку найти , ничего не понимаю как исправить Заранее спасибо Описать процедуру TrianglePS(a,P,S), вычисляющую по стороне a равностороннего треугольника его периметр P= 3*a и площадь S = a2 * корень квадратный3/4 (a-входной, P,S-выходные параметры) #include <iostream.h> #include <stdio.h> #include <stdlib.h> #include <math.h> int s; подробнее

Показать сообщение отдельно
CRazY-LeMoN
 Аватар для CRazY-LeMoN
0 / 0 / 0
Регистрация: 03.03.2013
Сообщений: 2
03.03.2013, 09:58     Сортировка столбцов матрицы
По заданию нужно отсортировать столбцы матрицы в порядке возрастания сумм положительных элементов столбцов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <conio.h>
using namespace std;
 
void main()
{ setlocale(LC_ALL, "");
 int i,j, n, m, buf; 
 cout<<"Количество строк массива: ";
 cin>>n;
 system("cls");
 cout<<"Количество столбцов: ";
 cin>>m;
 system("cls");
 int **mas=new int *[n];
 for(i=0; i<n;i++)
 mas[i]=new int [n];
 for(i=0;i<n;i++)
 { for(j=0;j<m;j++)
    { cout<<"["<<i<<"]["<<j<<"] = ";
      cin>>mas[i][j];
      system("cls");
     }
  }
 cout<<"Введен массив: ";
   for(i=0; i<n; i++)
    { cout << "\n";
      for (j=0; j<m; j++)
      cout << "\t" << mas[i][j];
    } 
 cout<<endl<<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(mas[i][j]>0)//
        s=s+mas[i][j];//
       }              //
     sum[j]=s;       //
   }                //\\
 
 cout<<"Сумма положительных элементов столбцов введенного массива: "<<endl;
  for(i=0;i<m;i++)
     cout<<"\t"<<sum[i];
 cout<<endl<<endl;
    
for (g=1; g<m; g++)          //сортировка столбцов исходного массива по условию увеличения суммы элементов столбца(не знаю как делать)
 { for(j=0;j<m;j++)          //
     for(i=0; i<m-g; i++)    //
   {if(sum[i]>sum[i+1])      //
    {                       //
       {buf=mas[i][j];      //
       int bufs=sum[i];      //
       mas[i][j]=mas[i][j+1]; //
       sum[i]=sum[i+1];      //
       mas[i][j+1]=buf;      //
       sum[i+1]=bufs;       //
        }                  //
      }                   //
     }                   //
   }                   //\\
      
 cout<<"Упорядоченная сумма положительных элементов столбцов введенного массива: "<<endl;
  for(i=0;i<m;i++)
     cout<<"\t"<<sum[i];
 cout<<endl<<endl;
 
cout<<"Массив, после перестановки столбцов"<<endl<<"в порядке возрастания сумм положительных элементов столбцов:"<<endl;
 for(int i=0; i<n; i++)                               
   {
     cout<<"\n";
     for (int j=0; j<m; j++)
     cout<< "\t" << mas[i][j];
    }
getch();
}
но моего гуманитарного мозга не хватает для того, что бы переставить столбцы по условию увеличения суммы элементов столбцов.
помогите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru