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

Двумерный массив в одномерный - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Список процессов с иконками http://www.cyberforum.ru/cpp-beginners/thread954595.html
Каким образом можно отабразить собственные иконки приложений в списке процессов? Процессы перечисляю так: HANDLE hProcessSnap; PROCESSENTRY32 pros32; int i=0; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); pros32.dwSize = sizeof(PROCESSENTRY32); while (Process32Next(hProcessSnap, &pros32)) { String ^_stNameProc = gcnew String(pros32.szExeFile);
C++ Что означают знаки подчеркивания впереди идентификатора? В исходнике при описании типа через typedef имя типа начинается с 2-х знаков подчеркивания. Дальше в программе это имя присутствует без подчеркиваний. Объясните, какую функцию выполняют эти знаки? http://www.cyberforum.ru/cpp-beginners/thread954580.html
Добавление двух функций на кнопку C++ Builder
C++ Подскажите пожалуйста, как на одну кнопку добавить две функции,пример- включение выключение что нибудь.
Беда с подключением библиотеки C++
Доброго времени суток. Суть проблемы в том, что один и тот же код работает по разному в зависимости от того находится ли он в библиотеки или нет... Вот класс: class Bitmap { private: Pixel** pixels; Vector2 Size; public:
C++ Как просмотреть цикл не последовательно в debugger'e? http://www.cyberforum.ru/cpp-beginners/thread954569.html
Вот, например, есть цикл int a; a = 0; int n = 10000; for (int i = 1; i < n; i++) a = a+1; Возможно ли, и если да, то как в debugger'e посмотреть значения переменных, которые изменяются в цикле (в данном случае a), но не последовательно, а с интервалом через 100 итераций? т.е., можно ли запустить цикл, посмотреть значения, прокрутить 100 итераций, посмотреть значения и т. д.
C++ Программа поиска и удаления кавычек в текстовом файле Всем привет! Вот озадачился написанием программы для поиска и удаления двойных кавычек из текстовых файлов. К примеру, есть папка, в ней может быть несколько текстовых файлов. Нужно по очереди открыть каждый файл, проверить на наличие кавычек, в случае их нахождения, удалить их (кавычки), сохранить файл, и закрыть. Т.к в C++ мои познания довольно посредственны, прошу совета по алгоритму,... подробнее

Показать сообщение отдельно
D3fend0r
17 / 17 / 1
Регистрация: 14.09.2013
Сообщений: 37
17.09.2013, 21:05     Двумерный массив в одномерный
вот может быть. храним в массиве указатели на строки. ищем минимум между числами на котырые указывают указатели, после нахождения минимума переносим его в одномерный массив, а указатель который указывал на минимум теперь указывает на число следующее за минимумом.
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
#include "stdafx.h"
#include <iostream>
#include <LIMITS.H>
using namespace std;
 
int main()
{
    const int rows=3;
    const int columns=3;
    int matrix[rows][columns];
    const int sorted_size=rows*columns;
    int sorted[sorted_size];
    const int *pointers[rows];
 
    for(int i=0;i<rows;++i)
    {
        cout<<"please enter numbers to "<<i<<" column"<<endl;
        pointers[i]=matrix[i];
        for(int j=0;j<columns;++j)
            cin>>matrix[i][j];
            
    }
    //SORTING////////////////////////////////////
    for(int i=0;i<sorted_size;++i)
    {
        int min_place=0;
        int min=INT_MAX;
        for(int j=0;j<rows;++j)// 
        {
            if(pointers[j] && *pointers[j]<min) //searching minimum between elements in pointers
            {
                min=*pointers[j];
                min_place=j;
            }
        }
        if(*pointers[min_place]!=matrix[min_place][columns-1])
        {
            ++pointers[min_place];//now pointer[min_place] points to next number, that follows after min (we found it before)
        }
        else
        {
            pointers[min_place]=nullptr;// if no more numbers in matrix[min_place]
        }
        sorted[i]=min;
    }
 
for(int i=0;i<sorted_size;++i)
{
    cout<<" "<<sorted[i];
}
cout<<endl;
system("pause");
}
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru