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

Уполотнение матрицы: дописать функцию. Очень нужно буквально сейчас! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ изменение размера изображения http://www.cyberforum.ru/cpp-beginners/thread429010.html
Всем привет! Помогите написать скрипт изменения размера изображения. Скрипт создания скриншота import System.IO; // increment our filename public var count:float; /**
C++ Семафоры Давно мучаюсь..не могу понять..у Меня есть 2 потока..и один ресурс.Где нужно создавать семафор ?в вызывающей эти потоки функции или в самих потоках и где стоит ждать семафор ? вот например код..Я правильно расставил создание семафора и ожидание? int mass={0,0,0,0,0,0,0,0,0,0}; DWORD ThreadId; HANDLE hSem; void left_to();//переход справа налево void right_to();//переход слева направо... http://www.cyberforum.ru/cpp-beginners/thread428995.html
C++ Массив символьных указателей
Эксперементирую с функциями в stdlib. В данной программе конкретно atoi(); Но не в этом суть. Проблема вот в чем. Я использую в этой программе массив строчных указателей. И я хочу его инициализировать вводя значения с клавиатуры. Я пробывал сначала вот так вот char str; char *s; for(int i = 0; i <= 3; i++){ cin >> str;
Объектно-ориентированный C++ и другие языки C++
Один мой знакомый посоветовал мне, для того чтобы лучше разобраться с объектно-ориентированной и библиотечно-шаблонной кухней C++ сперва предварительно лучше изучить такой язык как Visual Basic или C#. Верно ли это? То есть как лучше изучать C++ на голяк или лучше предварительно изучить чего-нибудь попроще?
C++ Для чего именно и как исползуется dynamic_cast(обясните "ЯЗИКОМ ЧЕЛОВЕКА") http://www.cyberforum.ru/cpp-beginners/thread428980.html
привет ребята ктото может привести хороший пример о dynamic_cast ?(об осталних я выучил).. Именно для чего он исползуется?(пожолуйсто обясните "ЯЗИКОМ ЧЕЛОВЕКА") Спасибо заранее..
C++ Метод секущих (блок-схема) подскажите пожалуйста, правильно ли я составил блок-схему по методу секущих Скрин во вложении.. Вот листинг: #include <conio.h> #include <iostream> using namespace std; #include <math.h> const double E=2.718281828459; //функция double func(double x) подробнее

Показать сообщение отдельно
Alex_Faru
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
16.01.2012, 05:32     Уполотнение матрицы: дописать функцию. Очень нужно буквально сейчас!
Здравствуйте. Возник такой вопрос. Нужно написать функцию, котороя перераспределит память двумерного массива и избавит его от нулевых строк и столбцов. Все они смещены в моей программе вниз и вправо. Осталось их убрать. Нужно очень срочно. Буду очень вам благодарен. Программа на С++.

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#include "stdafx.h"
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
#include <math.h>
 
//ОБЪЯВЛЕНИЕ ФУНКЦИЙ//
void print(int **m,const int nstr, const int nstb);
void strplus(int **m,const int nstr, const int nstb);
void sortstr(int **m,const int nstr, const int nstb);
void sortstb(int **m,const int nstr, const int nstb);
void upl(int **m,const int nstr, const int nstb);
//////////////////////
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int nstr= 5;
    const int nstb= 5;
    //инициализация массива
    int **m = new int *[nstr]; // 1
    for(int i = 0; i<nstr; i++) // 2
    m[i] = new int [nstb]; // 3
 
//заполнение матрицы
srand((unsigned)time(NULL));
    for (int i=0;i<nstr; i++)
        for (int j = 0; j<nstb; j++)
            m[i][j]=(float)rand()/RAND_MAX*(10-(-10))+(-10);
for (int i=0;i<nstr; i++) m[i][1]=0, m[i][0]=0;
for (int j = 0; j<nstb; j++) m[0][j]=0,m[1][j]=0;
 
 
print(m, nstr, nstb);
strplus(m, nstr, nstb);
sortstr(m, nstr, nstb);
sortstb(m, nstr, nstb);
upl(m, nstr, nstb);
print(m, nstr, nstb);
 
 
//очищение памяти
for (int i=0; i<nstr;i++)
delete [] m[i];
delete []m;
_getch();
    return 0;
}
 
 
 
 
 
//////ОПРЕДЕЛЕНИЯ ФУНКЦИЙ//////
 
 
//ФУНКЦИЯ ВЫВОДА МАССИВА//
void print(int **m,const int nstr, const int nstb)
{
 for (int i=0;i<nstr; i++)
    {
        for (int j = 0; j<nstb; j++)
            printf (" %d      ", m[i][j]);
        printf("\n");
    }
return;
}
 
//ФУНКЦИЯ НАХОЖДЕНИЯ СТРОКИ С ПОЛОЖИТЕЛЬНЫМ ЭЛЕМЕНТОМ//
void strplus(int **m,const int nstr, const int nstb)
 {
    int i=0;
    bool Ysl=false;
    for(int i=0; i<nstr && Ysl==false; i++)
        for (int j=0; j<nstb; j++)
            if(m[i][j]>0)Ysl=true;
            if(Ysl=true)printf("Nomer stroki s pologitelnim elementom: %d",i-1);
 
 return;
 }
 
 //=====ФУНКЦИИ УПЛОТНЕНИЯ МАТРИЦЫ=====
 //ПО СТОРКАМ//
void sortstr(int **m,const int nstr, const int nstb)
{
int s=0;
int z=0;
 
for (int l=0; l<nstr; l++)
{
for (int i=0; i<(nstr); i++)
{
    for(int j=0; j<nstb; j++)
    {
        if (m[i][j]==0)
            s+=1;
    }
    if (s==nstb)
        for (int k=i; k<(nstr-1);k++)
            for (int p=0;p<nstb;p++)
            {
                z=m[k][p];
                m[k][p]=m[k+1][p];
                m[k+1][p]=z;
            }
    s=0;
}
}
 
return;
}
 
//ПО СТОЛБЦАМ//
void sortstb(int **m,const int nstr, const int nstb)
{
int r = 0;
int x = 0;
for (int h=0; h<nstb; h++)
{
for (int j=0; j<(nstb); j++)
{
    for(int i=0; i<nstr; i++)
    {
        if (m[i][j]==0)
            r+=1;
    }
        if (r==nstr)
        for (int v=j; v<(nstb-1);v++)
            for (int b=0;b<(nstr);b++)
            {
                x=m[b][v];
                m[b][v]=m[b][v+1];
                m[b][v+1]=x;
            }
    r=0;
}
}
 
return;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru