Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 37
1

Функция выделения произвольной строки двумерного массива в одномерный

10.01.2016, 19:23. Показов 1688. Ответов 9
Метки нет (Все метки)

Написать функцию выделения произвольной строки двумерного массива в одномерный. Выделить две произвольные строки
Такой массив :
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 <iostream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
    int *b;
    int i, j, n, m, k, g, t;
 
 
    //--- Ввод двумерного динамического массива NxM
 
 
    cout << "Vvedite kolichestvo strok (N): ";
    cin >> n;
    cout << "Vvedite kolichestvo stolbcov (M): ";
    cin >> m;
 
    //--- Выделение памяти
    int **massiv = new int*[n];
    for (k = 0; k < n; k++)
        massiv[k] = new int[m];
 
    //--- Тут massiv[i][j]
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "s[" << i << "][" << j << "]:";
            cin >> massiv[i][j];
        }
    // --- Вывод двумерного массива NxM
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<m; j++)
            cout << setiosflags(ios::fixed) << setw(10) << setprecision(3) <<
            massiv[i][j] <<
            " ";
        cout << endl;
    }
 
 
    //--- Освобождение выделенной памяти
    for (int s = 0; s <n; s++)
        delete[]massiv[s];
    delete[]massiv;
system("pause");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2016, 19:23
Ответы с готовыми решениями:

Написать функцию выделения произвольной строки двумерного массива в одномерный
Написать функцию выделения произвольной строки двумерного массива в одномерный. Выделить две...

Функция для удаления строки из двумерного массива
Массив должен передаваться в функцию как параметр. Написать функцию для удаления строки из...

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

Ошибка выделения памяти для двумерного массива
void create(int **Matrix, int n, int m) { Matrix=new int*; for(int i=0; i&lt;n; i++) Matrix...

9
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 37
10.01.2016, 19:40  [ТС] 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
#include <iostream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    int *b;
    int i, j, n, m, k, g, t;
 
 
    //--- Ввод двумерного динамического массива NxM
 
 
    cout << "Введите колличество строк (N): ";
    cin >> n;
    cout << "Введите колличество столбцов (M): ";
    cin >> m;
 
    //--- Выделение памяти
    int **massiv = new int*[n];
    for (k = 0; k < n; k++)
        massiv[k] = new int[m];
 
    //--- Тут massiv[i][j]
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "s[" << i << "][" << j << "]:";
            cin >> massiv[i][j];
            system("cls");
        }
    // --- Вывод двумерного массива NxM
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<m; j++)
            cout << setiosflags(ios::fixed) << setw(10) << setprecision(3) <<
            massiv[i][j] <<
            " ";
        cout << endl;
        
    }
 
 
    //--- Освобождение выделенной памяти
    for (int s = 0; s <n; s++)
        delete[]massiv[s];
    delete[]massiv;
    
    system("pause");
    
    return 0;
}
0
504 / 316 / 236
Регистрация: 18.02.2013
Сообщений: 754
10.01.2016, 19:55 3
C++
1
2
3
4
5
void pr(int **mas,int **mat, int n)
{
    *mas=mat[n];
 
}
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 37
11.01.2016, 03:37  [ТС] 4
Извините, но куда это вставить, чтобы работало?
Везде перетыкал
0
335 / 183 / 80
Регистрация: 22.08.2013
Сообщений: 724
11.01.2016, 08:17 5
Лучший ответ Сообщение было отмечено AHIME как решение

Решение

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
int main()
{
    setlocale(LC_ALL, "Rus");
 
    int *b;
    int i, j, n, m, k, g, t;
 
 
    //--- Ввод двумерного динамического массива NxM
 
 
    cout << "Введите колличество строк (N): ";
    cin >> n;
    cout << "Введите колличество столбцов (M): ";
    cin >> m;
 
    //--- Выделение памяти
    int **massiv = new int*[n];
    for (k = 0; k < n; k++)
        massiv[k] = new int[m];
 
    //--- Тут massiv[i][j]
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "s[" << i << "][" << j << "]:";
            cin >> massiv[i][j];
            system("cls");
        }
    // --- Вывод двумерного массива NxM
    for (i = 0; i<n; i++)
    {
        for (j = 0; j<m; j++)
            cout << setiosflags(ios::fixed) << setw(10) << setprecision(3) <<
            massiv[i][j] <<
            " ";
        cout << endl;
        
    }
 
    cout << "Введите индекс строки " << "(от 0 до " << n - 1 << "): ";
    int a;
    cin >> a;
    
    int* mas = massiv[a];
    // --- Вывод строки массива massiv
    for (int i = 0; i < m; i++)
        cout << setiosflags(ios::fixed) << setw(10) << setprecision(3) << mas[i];
    cout << endl;
 
    //--- Освобождение выделенной памяти
    for (int s = 0; s <n; s++)
        delete[]massiv[s]; 
    delete[]massiv;
    
    system("pause");
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 37
11.01.2016, 12:57  [ТС] 6
это не то, да и после выбора строки программа выдает тучу ошибок и отказывается работать далее
0
504 / 316 / 236
Регистрация: 18.02.2013
Сообщений: 754
11.01.2016, 13:16 7
AHIME, это то, что Вы просили написать... а
Цитата Сообщение от AHIME Посмотреть сообщение
да и после выбора строки программа выдает тучу ошибок и отказывается работать далее
очень информативно
0
335 / 183 / 80
Регистрация: 22.08.2013
Сообщений: 724
11.01.2016, 13:24 8
Цитата Сообщение от AHIME Посмотреть сообщение
да и после выбора строки программа выдает тучу ошибок и отказывается работать далее
Не свести.
Миниатюры
Функция выделения произвольной строки двумерного массива в одномерный  
1
20 / 20 / 20
Регистрация: 21.12.2015
Сообщений: 32
11.01.2016, 14:21 9
Если именно в виде функции
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 <iostream>
 
using namespace std;
 
void F(int **array, int *array_1, int m)
{
       int k=0;
       cout << "Введите номер строки: " << endl;
       cin>>k;
       for(int j=0; j<m; j++)
{
    array_1[j] = array[k-1][j];
}
       cout<<"Вывод выбранной строки: "<<endl;
for(int j=0; j<m; j++)
cout << array_1[j] << " ";
cout << endl;
}
void output(int **array, int n, int m)
{
for (int i = 0; i < n; i++)
        array[i] = new int[m];
 
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
        {
            cout << "Введите элемент: ";
            cin >> array[i][j];
        }
}
void vivod(int **array, int n, int m)
{
cout<< "Вывод матрицы: " << endl;
         for (int i = 0; i<n; i++)
    {
        for (int j = 0; j<m; j++)
            cout << array[i][j] << " ";
        cout << endl;
    }
 
}
void main()
{
    setlocale(LC_ALL, "Russian");
    int n, m; 
    cout << "Введите кол-во строк: " << endl;
    cin >> n;
    cout << "Введите кол-во столбцов: " << endl;
    cin >> m;
    int *array_1 = new int[m];
  int **array = new int*[n];
   output(array,n, m);
   vivod(array, n, m)  ;
   F(array,array_1,m);
   F(array,array_1,m);
   system("pause");
}
0
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 37
12.01.2016, 08:06  [ТС] 10
Цитата Сообщение от nord_v Посмотреть сообщение
Сообщение от AHIME
да и после выбора строки программа выдает тучу ошибок и отказывается работать далее
Не свести.
Миниатюры
Извините, это Вижуал тупил
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2016, 08:06

Функция и одномерный массив из двумерного
Помогите сделать задание, нужно срочно. Написать функцию, которая записывает в одномерный массив...

залить из двумерного массива данные в одномерный длиной, равной количеству всех элементов исходного массива
Доброго времени суток :) Образовался новый глупый вопрос... Предположим у меня есть двухмерный...

Преобразование двумерного массива в одномерный
Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого равен сумме элементов...

Переписать из двумерного массива в одномерный
Дан массив 3*2.Надо переписать в одномерный массив элементы всех строк,где нет отрицательных...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru