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

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

Восстановить пароль Регистрация
 
Cooler_xD
 Аватар для Cooler_xD
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 3
22.06.2012, 12:32     Двумерный массив #1
Задан двумерный динамический массив размером NxM.Определить количество размерных элементов матрицы (т.е повторяющиеся элементы считать один раз) (реализовать при помощи ф-ции пользователя)
Нужна помощь , вообще не шарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2012, 12:32     Двумерный массив
Посмотрите здесь:

C++ двумерный массив
C++ Двумерный массив
C++ Двумерный массив
C++ Двумерный массив
C++ Двумерный массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.06.2012, 12:41     Двумерный массив #2
то есть надо посчитать все элементы которые не повторяются?
Cooler_xD
 Аватар для Cooler_xD
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 3
22.06.2012, 12:44  [ТС]     Двумерный массив #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
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <iomanip>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int **mtx;
    int k,i,j,n,m;
    printf("Vvedite kolichestvo strok: ");
    printf("\n");
    cin>>n;
    printf("Vvedite kolichestvo stolbcov: ");
    printf("\n");
    cin>>m;
 
 
    mtx=(int**)malloc(n*sizeof(int*));
    for(int i=0;i<n;i++)
        mtx[i]=(int*)malloc(m*sizeof(int));
 
 
// заполняем массив
         printf("Vvedite elementi massiva: ");
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
        scanf ("%d", &mtx[i][j]);
 
// Циклы не правильно работают
           
        for(int i=0;i<n;i++){
                 if (mtx[i]=mtx[i+1]
                for(int j=0;j<m;j++)
                    if(mtx[i][j]=mtx[i][j])
                        k=k+1;
        }
 
//
    printf("Vascha matrica: ");
    for(int i=0;i<n;i++){
        printf("\n");
        for(int j=0;j<m;j++)
            printf("%2d",mtx[i][j]);
    }
    printf("Kolichestvo elementov: ",k);
    getch ();
    return 0;
    
}
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.06.2012, 13:56     Двумерный массив #4
Так смотрю никто тебе не помог, попробуй вот так

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
#include <iostream> 
#include <ctime> 
#include <cstdlib> 
#include <iomanip>
using namespace std; 
 
int main() 
{   
    srand((unsigned) time(0));
    int i, j;
    int **matrix;  
    int count = 1;  
    const int N = 5; 
    const int M = 5;
 
    matrix = new int*[N]; 
    for ( i = 0; i < N; i++) 
        matrix[i] = new int [M];
    
 
    for ( i = 0; i < N; i++) 
        for ( j = 0; j < M; j++) 
            matrix[i][j] = rand() % 5; 
 
    for ( i = 0; i < N; i++) 
        for ( j = 0; j < M; j++) 
        {   
            if( j % 10 == 0) 
                cout << endl;
            cout << setw(3) << matrix[i][j]; 
        }  
        cout << endl;   
 
        int array[N*M];  
        array[0] = matrix[0][0]; 
 
        for ( int ind = 1; ind < N*M;ind++) 
        { 
             j = ind % M; 
             i = ind / M; 
            bool flag = true; 
            for ( int ind2 = 0; ind2 < count; ind2++) 
                if(matrix[i][j] == array[ind2]) 
                { 
                    flag = false; break; 
                }  
                if(flag) 
                { 
                    array[count] = matrix[i][j]; 
                    count++; 
                } 
        } 
        cout << count << endl;
}
Cooler_xD
 Аватар для Cooler_xD
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 3
22.06.2012, 14:14  [ТС]     Двумерный массив #5
на другом компе сейчас сижу , где проги нет , чуть позже проверю , спасибо за помощь
Yandex
Объявления
22.06.2012, 14:14     Двумерный массив
Ответ Создать тему
Опции темы

Текущее время: 20:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru