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

Упорядочить строки матрицы по возрастанию их характеристик - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод кода с C++ Builder 6 на Visual Studio C++ http://www.cyberforum.ru/cpp-beginners/thread580943.html
Вот этот код нужно перевести с c++ builder 6 на студию. Заставляют писать только в студии, это у меня последнее задание. прошу помочь, это не должно быть сложно, но только не для незнающего ничего в отличиях синтаксиса этих двух оболочек. if(FileExists("C:\\file.txt")) { char ch = {'a', 'e', 'i', 'o', 'u', 'y'}; bool first = true; AnsiString str; ...
C++ Вытащить из текста все отдельные слова Задача в том, чтобы вытащить из текстового файла слова и отсортировать их по частоте встречаемости. Вторую часть программы могу сделать:) Но как вытащить слова из текстового файла, если их могут разделять разные символы? (. : ; " ") и куча пробелов, например. http://www.cyberforum.ru/cpp-beginners/thread580941.html
сортировка по алфавиту C++
Задача: Описать структуру с именем PRICE, содержащую следующие поля: название товара; название магазина, в котором продается товар; стоимость товара в руб. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из k <=10 элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям магазинов; вывод на экран...
C++ Список списков.Морской бой
Здравствуйте, форумчане. Прошу вашей помощи. Я новичок, и это моя первая программа. Есть курсовая, морской бой. Написал уже рандомную расстановку кораблей и движение курсора, всё хорошо. Но возникла загвоздка со списками. По заданию в игре должны использоваться списки. У меня однонаправленный, не кольцевой и без головного элемента. Но список у меня не простой, а список списков, т.е. список...
C++ Движение шаров по экрану борланд 3.1 http://www.cyberforum.ru/cpp-beginners/thread580920.html
нужно смоделировать движение шаров по экрану. не могу сделать чтобы шары отталкивались друг от друга, помогите кто сможет. все что написал #include<stdlib.h> #include<stdio.h> #include<conio.h> #include<dos.h> #include<iostream.h> #include <time.h> #include<math.h>
C++ Реализация алгоритма Йена на С++ помогите пожалуста реализовать алгоритм Йена есть алгоритм Дейкстры нужно его доделать до Йена#include<iostream> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<conio.h> #define word unsigned int using namespace std; int i, j, n, p, xn, xk; int flag; подробнее

Показать сообщение отдельно
Helmsman
1 / 1 / 0
Регистрация: 03.04.2012
Сообщений: 4
22.05.2012, 07:24     Упорядочить строки матрицы по возрастанию их характеристик
может я не правильно понял, но согласно условия задачи нас не интересуют последовательности из одного нуля, характеристикой строки является длина самой длинной серия нулей, но вы правы, все таки функцию Find() наверное стоит переделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int Find(int *ar,int sizeY)//подсчет характеристики столбцов
{
   int count=0;
   bool flag=false;
     for(int j=0;j<sizeY;j++)
            {
                  if(ar[j]==0)  
                       flag=true;  
                  else
                       flag=false; 
                  if(ar[j]==0&&flag)
                    count++;
            } 
     return count;
}
PS почему-то программа работает некорректно, сегодня попытаюсь переписать))

Добавлено через 23 минуты
кажись так:
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
81
82
 
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
void Print(int **ar,int sizeX,int sizeY)//распечатка матрицы
{
      for(int i=0;i<sizeY;i++)
      {
            for(int j=0;j<sizeX;j++)
            {
                    cout<<"ar["<<i<<"]["<<j<<"]="<<ar[j][i]<<"\t";
            }
            cout<<endl;
            cout<<endl;
      }
}
void Swap(int *a,int *b,int sizeY)//замена местами двух столбцов
{
     int temp;
     for(int j=0;j<sizeY;j++)
     {
         temp=a[j];
         a[j]=b[j];
         b[j]=temp;        
     }     
}
int Find(int *ar,int sizeY)//подсчет характеристики столбцов
{
   int count=0;
   bool flag=false;
     for(int j=0;j<sizeY-1;j++)
            {
                  if(ar[j]==0)  
                       flag=true;  
                  else
                       flag=false; 
                  if(ar[j+1]==0&&flag)
                   count++;
            } 
     return count;
}
void Sort(int **ar,int sizeX,int sizeY)//сортировка
{
     cout<<"Sorting..."<<endl;
     cout<<endl;
    for(int j=0;j<sizeX;j++)
    {
       for(int i=0;i<sizeX-1;i++)
          {
                    if(Find(ar[i],sizeY)<Find(ar[i+1],sizeY))
                    {
                       Swap(ar[i],ar[i+1],sizeY);
                    }
          } 
     }
}
 
 
int main(int argc, char *argv[])
{
    int X=5,Y=3,d=2;
    int **ar=new int *[X];
    for(int i=0;i<X;i++)
            ar[i]=new int [Y];
    
    srand((unsigned)time(NULL));
        for(int i=0;i<X;i++)
            for(int j=0;j<Y;j++)
            ar[i][j]=rand()%d;
 
            Print(ar,X,Y);
            Sort(ar,X,Y);  
            Print(ar,X,Y);  
    
    for(int i=0;i<X;i++)
            delete []ar[i];
            delete []ar;
    system("PAUSE");
    return EXIT_SUCCESS;
}
жду критики))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru