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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
peka42
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 19
#1

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

05.11.2013, 00:10. Просмотров 415. Ответов 4
Метки нет (Все метки)

Всем привет! Помогите составить мне программу:
На основе исходного двумерного массива 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];
                    
                }
                    
 
 
            }
            
 
        }
Подскажите,где подправить?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 00:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать массив из матрицы (C++):

Сформировать одномерный массив из диагональных элементов матрицы. Найти след матрицы - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы...

Сформировать массив из матрицы - C++
даны натуральное число n , целочисленная квадратная матрица порядка n. получить b1,...,bn? где bi это значение первого по порядку...

Сформировать массив из матрицы - C++
Дана матрица А(6,7). Сформировать массив В(6), каждый элемент которого есть произведение положительных элементов соответствующего столбца...

Сформировать массив из элементов матрицы - C++
Дан двумерный массив. Сформировать одномерный массив,каждый элемент которого равен количеству элементов соответствующего столбца ...

Сформировать массив из элементов матрицы - C++
Из заданного массива А получить массив В попарно переставив первый и последний столбец, второй и предпоследней и т.д.

Сформировать массив из элементов матрицы - C++
Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого равен среднему арифметическому четных положительных элементов...

4
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;
}
Дальше дело за малым, сортируешь, а вывод я тебе уже и написал
1
peka42
0 / 0 / 0
Регистрация: 05.11.2013
Сообщений: 19
05.11.2013, 16:59  [ТС] #3
Спасибо

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

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

Сформировать массив указателей на матрицы - C++
Помогите пожалуйста. Есть 5 массивов int 10x10. Сформировать массив указателей на эти массивы. Добавлено через 3 часа 21 минуту Upp

Сформировать массив из элементов матрицы - C++
задача следующая: дана матрица A(NxN). сформировать ономерный массив по следующим правилам:если аii&lt;0(i=2,...,n-1),в качестве bi взять...

Сформировать массив из элементов матрицы - C++
С массива В m, n построить массив С, выполняя деление каждого элемента массива В на min элемент в столбце (С++). за ранние спасибо.

Сформировать одномерный массив Х из элементов матрицы А... - C++
помогите пожалуйста! никак не получается сделать основную задачу. остановился на этом варианте, но все равно не получается - записываю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru