Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2016, 19:23   #1
AHNME
Пользователь
 
Регистрация: 20.12.2015
Сообщений: 18
По умолчанию Как выделять строку двумерного массива?

Написать функцию выделения произвольной строки двумерного массива в одномерный. Выделить две произвольные строки
Мой массив :
Код:
#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;
}
AHNME вне форума Ответить с цитированием
Старый 10.01.2016, 19:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int *Row(int **a,int aRow,int len){
 int *r=new int[len];
 return memcpy(r,&a[aRow][0],sizeof(int)*len);
}
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.01.2016, 19:59   #3
AHNME
Пользователь
 
Регистрация: 20.12.2015
Сообщений: 18
По умолчанию

Программа отказывается работать, требует после этого
Код:
int *Row(int **a, int aRow, int len)
точку с запятой ";"
AHNME вне форума Ответить с цитированием
Старый 11.01.2016, 03:12   #4
AHNME
Пользователь
 
Регистрация: 20.12.2015
Сообщений: 18
По умолчанию

и это в с++
AHNME вне форума Ответить с цитированием
Старый 11.01.2016, 08:47   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Это в С++.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать длину двумерного массива? Illusiony JavaScript, Ajax 4 06.03.2014 00:13
передача двумерного массива как параметра функции Yulia_sko.kz Помощь студентам 0 31.03.2012 15:15
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива griignat Помощь студентам 1 22.11.2011 20:04
Обращение к эелементам двумерного массива через указатели на С ++ помогите понять как исправить ошибку серг Общие вопросы C/C++ 3 09.08.2010 12:37