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

Сформировать массив из матрицы - C++

Восстановить пароль Регистрация
 
peka42
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 18
05.11.2013, 00:10     Сформировать массив из матрицы #1
Всем привет! Помогите составить мне программу:
На основе исходного двумерного массива C с рабочим
размером n x n, сформировать одномерный массив A.
Массив A должен содержать только те числа, которые
встречаются в массиве C только один раз. Упорядочить
массив A по убыванию, используя метод выбора. Вывести
массив A на экран.
Массивы A и C должны состоять из целых чисел.
Значение n, а также значения элементов массива C
вводятся пользователем с клавиатуры.

Вот как я начал
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
#include "stdafx.h"
#include <iostream> 
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    // z-та позиция массива а которая присваевается значение элемента массива с 
    // f-кол-во совпадений значение элементов массива с в массиве а 
    int  z,f,k, i, j, c[10][10], a[100] ;
    z = -1;
    for (i = 0; i < 10; i++)
        {
            for (j = 0; j < 10; j++)
            {
                c[i][j] = rand() % 9;
                cout << c[i][j];
                
                
            }
            cout << "\n";
 
        }
 
 
 
        for (i = 0; i < 10; i++)
        {
            for (j = 0; j < 10; j++)
            { 
                f = 0;
                for (k = 0; k < 100; k++)
                {
                    if (c[i][j] == a[k])
                    {
                    //k++;
                        f++;
                    }
                        
                }
                if (f==0)
                { 
                    z++;
                    a[z] = c[i][j];
                    
                }
                    
 
 
            }
            
 
        }
Подскажите,где подправить?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
05.11.2013, 01:15     Сформировать массив из матрицы #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
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
#include "stdafx.h"
#include <iostream> 
#include <map>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int  i, j, n, range, num;
    map<int, int> C_num_repeats;
    map<int, int>::iterator cur;
 
    cout << "Input n:" << endl; // <--- вводим n (например 10)
    cin >> n;
    cout << "Input range:" << endl;  // <--- вводим диапазон случ целых чисел (например 50, т.е. 1<x<50)
    cin >> range;
 
    int ** C = new int *[n]; // <--- создаем динамический массив С
    for (int i = 0; i < n; i++)
        C[i] = new int [n];
 
    int * A = new int [n * n]; // <--- создаем динамический массив А
 
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            C[i][j] = rand() % range + 1; // <--- Массивы A и C должны состоять из целых чисел, 0 к ним не относиться 
            C_num_repeats[C[i][j]]++;
            //cout << C[i][j];
        }
        //cout << "\n";
    }
 
    for (cur = C_num_repeats.begin(), i = 0; cur != C_num_repeats.end(); cur++)
    {
        if((*cur).second == 1)
        {
            A[i] = (*cur).first; // <--- Теперь в А хранятся неупорядоченные числа из С, встречающиеся только 1 раз
            i++;                 
        }
    }
 
    num = i;
    for(i = 0; i < num; i++) // <--- вывод на экран
        cout << "A[" << i << "]=" << A[i] << ", "; 
    
 
    for (int i = 0; i < n; i++) // <--- А еще динамические массивы надо удалять после использования
        delete[] C[i];
    delete [] C; 
    delete [] A;
 
    return 0;
}
Дальше дело за малым, сортируешь, а вывод я тебе уже и написал
peka42
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 18
05.11.2013, 16:59  [ТС]     Сформировать массив из матрицы #3
Спасибо

Добавлено через 1 час 28 минут
А можно ли записать программу, в более в простом виде?
reckless91
30 / 30 / 1
Регистрация: 01.11.2013
Сообщений: 63
05.11.2013, 19:09     Сформировать массив из матрицы #4
Цитата Сообщение от peka42 Посмотреть сообщение
Спасибо

Добавлено через 1 час 28 минут
А можно ли записать программу, в более в простом виде?
Всё возможно, это жеж программирование)))
может просто объяснить, а не переписывать?
peka42
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 18
08.11.2013, 22:17  [ТС]     Сформировать массив из матрицы #5
Что означают эти команды? Просто, я пока до этого не доходил.
C#
1
2
map<int, int> C_num_repeats;
    map<int, int>::iterator cur;
Yandex
Объявления
08.11.2013, 22:17     Сформировать массив из матрицы
Ответ Создать тему
Опции темы

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