,   CyberForum.ru

- C++

 
metalist1925
1 / 1 / 0
: 17.05.2011
: 134
22.02.2012, 10:37     #1
n*m 1,2,3, n*m, :
 : docx .docx (17.2 , 7 )
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
22.02.2012, 10:37    
:

C++
C++
C++
C++
C++
.
vet
   vet
175 / 175 / 13
: 08.04.2009
: 1,309
22.02.2012, 11:35     #2
,
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
#include <iostream>
using namespace std;
 
const int n = 5, m = 4;
 
int main()
{
    int mas[n][m];
    int k = 1, l=0;
    for(int i=0;i<n;i++)
    {
    
            if(l%2==0){for(int j=0;j<m;j++){mas[i][j] = k;k++;}}
                    
            else {for(int j=m-1;j>=0;j--){mas[i][j] = k;k++;}}
              
            l++;      
     }
    
    
    for(int i=0;i<n;i++)
    {
            for(int j=0;j<m;j++)
            {
                    cout << mas[i][j]  << "  ";
            }
            cout << "\n";
    }
    
    cin.get();
}
-==-
FAQ
22.02.2012, 11:36     #3
metalist1925
n*m 1,2,3, n*m, :

.docx (17.2 , 1 )
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
#include <stdio.h>//printf, scanf
#include <stdlib.h>//malloc, free, system
 
//ðåêîìå*äóþ ñð*çó ïèñ*òü ôó*êöèþ ÷èñòè ï*ìÿòè
void freeArr(int ** arr, int nRows)
{
    if(arr)
    {
        while(0 < nRows)
        {
            if(arr[nRows - 1])
                free(arr[(nRows - 1)]);//Âîò ò*ê ÷èñòèì ï*ìÿòü îòâåäå**óþ ïîä ñòðîêó
            nRows = nRows - 1;
        }
    }
    arr = NULL;
}
 
int main()
{
    system("chcp 1251");//Ïðîñò*ÿ ðóññèôèê*öèÿ ìîæ*î è ÷åðåç locale
    int nRows;//Áóäåò ñîäåðæ*òü â ñåáå ÷èñëî ñòðîê **øåé ì*òðèöû
    int nCols;//Áóäåò ñîäåðæ*òü â ñåáå ÷èñëî ñòîëáöîâ **øåé ì*òðèöû
    int **arr;//Óê*ç*òåëü ** **øó ì*òðèöó
    int i,j,k;
    printf("Ââåäèòå ÷èñëî ñòðîê â ì*òðèöå    : ");scanf("%d",&nRows);
    printf("Ââåäèòå ÷èñëî ñòîëáöîâ â ì*òðèöå : ");scanf("%d",&nCols);
    //Òåïåðü ïðîáóåì âûäåëèòü ï*ìÿòü ïîä óê*ç*òåëè ** ñòðîêè ì*òðèöû
    //â ç*ïèñè *èæå âñ¸ â*æ*î îñîáå**î ð*çìåð âûäåëÿåìîãî áëîê* nRows*sizeof(int *)!
    //Ò*êæå ðåêîìå*äóþ âñåãä* ïðîâåðÿòü * âûäåëèë*ñü ëè ï*ìÿòü
    if(!(arr = (int **)malloc(nRows*sizeof(int *))))
        printf("Îøèáê* âûäåëå*èÿ ï*ìÿòè ïîä óê*ç*òåëè ** ñòðîêè\n");
    else
    {
        for(i = 0,k = 1; i < nRows; i++)
        {
            //Òåïåðü ïðîáóåì âûäåëÿòü ï*ìÿòü ïîä ýëåìå*òû i-îé ñòðîêè
            //Îáð*ùó â*èì**èÿ ÷òî äëÿ óê*ç*òåëåé ** ñòðîêè ðçìåð áëîê*
            //áûë nRows*sizeof(int *) äëÿ ýëåìå*òîâ æå ñòðîêè nCols*sizeof(int)!
            if(!(arr[i] = (int *)malloc(nCols*sizeof(int))))
            {
                printf("Îøèáê* âûäåëå*èÿ ï*ìÿòè ïîä ýëåìå*òû ñòðîêè\n");
                break;//Ñð*çó æå ïðåêð*ù*åì ãå*åð*öèþ
            }
            else//Åñëè æå âñ¸ îê è*èöè*ëèçèðóåì ýëåìå*òû ì*òðèöû 
            {
                for(j = 0; j < nCols; j++, k++)
                {
                    if(i % 2 == 0)
                        arr[i][j] = k;
                    else
                        arr[i][nCols - j - 1] = k;
                }
                //Ïå÷*ò*åì ýëåìå*òû ì*òðèöû ** ýêð**
                for(j = 0; j < nCols; j++)
                    printf("%02d ",arr[i][j]);
            }
            printf("\n");
        }
    }
    //Åñëè âñ¸ ñäåë*ëè ïð*âèëü*î ó **ñ ** ýêð**å **ø* ì*òðèö*
    system("pause");//ñòîï-òî÷ê* ïåðåä âûõîäîì
    freeArr(arr, nRows);//÷èñòèì ï*ìÿòü ïåðåä ç*âåðøå*èåì ïðîãð*ììû
    return 0;
}
    
 
-==-
22.02.2012, 11:41
  #4

:

vet
if(l%2==0){for(int j=0;j<m;j++){mas[i][j] = k;k++;}}
else {for(int j=m-1;j>=0;j--){mas[i][j] = k;k++;}}
- , :

-==-
if(i % 2 == 0)
arr[i][j] = k;
else
arr[i][nCols - j - 1] = k;
...

-==-
FAQ
22.02.2012, 11:55     #5
3-
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
#include <iostream>
#include <iomanip>
using namespace std;
 
//ðåêîìå*äóþ ñð*çó ïèñ*òü ôó*êöèþ ÷èñòè ï*ìÿòè
void freeArr(int ** arr, int nRows)
{
    if(arr)
    {
        while(0 < nRows)
        {
            if(arr[nRows - 1])
                delete [] (arr[(nRows - 1)]);//Âîò ò*ê ÷èñòèì ï*ìÿòü îòâåäå**óþ ïîä ñòðîêó
            nRows = nRows - 1;
        }
    }
    arr = NULL;
}
 
int main()
{
    system("chcp 1251");//Ïðîñò*ÿ ðóññèôèê*öèÿ ìîæ*î è ÷åðåç locale
    int nRows;//Áóäåò ñîäåðæ*òü â ñåáå ÷èñëî ñòðîê **øåé ì*òðèöû
    int nCols;//Áóäåò ñîäåðæ*òü â ñåáå ÷èñëî ñòîëáöîâ **øåé ì*òðèöû
    int **arr;//Óê*ç*òåëü ** **øó ì*òðèöó
    int i,j,k;
    cout<<"Ââåäèòå ÷èñëî ñòðîê â ì*òðèöå    : ";cin>>nRows;
    cout<<"Ââåäèòå ÷èñëî ñòîëáöîâ â ì*òðèöå : ";cin>>nCols;
    //Òåïåðü ïðîáóåì âûäåëèòü ï*ìÿòü ïîä óê*ç*òåëè ** ñòðîêè ì*òðèöû
    //Ò*êæå ðåêîìå*äóþ âñåãä* ïðîâåðÿòü * âûäåëèë*ñü ëè ï*ìÿòü
    if(!(arr = new int *[nRows]))
        cout<<"Îøèáê* âûäåëå*èÿ ï*ìÿòè ïîä óê*ç*òåëè ** ñòðîêè\n";
    else
    {
        for(i = 0,k = 1; i < nRows; i++)
        {
            //Òåïåðü ïðîáóåì âûäåëÿòü ï*ìÿòü ïîä ýëåìå*òû i-îé ñòðîêè
            if(!(arr[i] = new int[nCols]))
            {
                cout<<"Îøèáê* âûäåëå*èÿ ï*ìÿòè ïîä ýëåìå*òû ñòðîêè\n";
                break;//Ñð*çó æå ïðåêð*ù*åì ãå*åð*öèþ
            }
            else//Åñëè æå âñ¸ îê è*èöè*ëèçèðóåì ýëåìå*òû ì*òðèöû 
            {
                for(j = 0; j < nCols; j++, k++)
                        arr[i][((i % 2) ? nCols - j - 1 : j)] = k;
                //Ïå÷*ò*åì ýëåìå*òû ì*òðèöû ** ýêð**
                for(j = 0; j < nCols; j++)
                    cout<<setw(3)<<arr[i][j];
            }
            cout<<endl;
        }
    }
    //Åñëè âñ¸ ñäåë*ëè ïð*âèëü*î ó **ñ ** ýêð**å **ø* ì*òðèö*
    system("pause");//ñòîï-òî÷ê* ïåðåä âûõîäîì
    freeArr(arr, nRows);//÷èñòèì ï*ìÿòü ïåðåä ç*âåðøå*èåì ïðîãð*ììû
    return 0;
}
    
Yandex
22.02.2012, 11:55    

: 05:39. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru