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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 00:14   #1
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
Вопрос немогу разобраться с Многомерные динамические массивы

Здравствуйте все.
Мне на универ надо две задачки по Си вот эти
1. Написать программу, которая осуществляет добавление строки или столбца в любое место двумерной матрицы по выбору пользователя.

2. Дана матрица порядка MxN (M строк, N столбцов). Необходимо заполнить ее значениями и написать функцию, осуществляющую циклический сдвиг строк и/или столбцов массива указанное количество раз и в указанную сторону.
Прошу помощи у вас в написании их спасибо за предоставленую помощь вашу мне и потраченное время на меня

С первой немного вроде разобрался тока не могу опнять как реализовать в матрице столбцы и с троки в любом месте вот мой код к первой
Код:
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
void main()
{
 
        int **pmas;
        cout<<"Vvedite razmernost a and b "<<endl;
        int a;
        cin>>a;
        int b;
        cin>>b;
        pmas=new int *[a];
        for(int i=0; i<a; i++)
        {
      pmas[i]=new int [b];
        }
        for(int i=0; i<a; i++)
        {
                for(int j=0; j<b; j++)
                {
                        pmas[i][j]=i+1;
                        cout<<pmas[i][j];
                }
                cout<<endl;
        }
 
}
FRATER1234 вне форума Ответить с цитированием
Старый 15.11.2011, 11:48   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Вот тут была тема про создание/удаление многомерных динамических массивов.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 15.11.2011, 13:00   #3
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Я знаю как удалять и очищать уменя проблема состоит в том как сделать так чтобы мог добовлять в любое место строку или столбец
FRATER1234 вне форума Ответить с цитированием
Старый 15.11.2011, 13:20   #4
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Либо расширяй массив и сдвигай все вправо или вниз, либо создавай новый массив нужного размера и в него уже вставишь строку
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 15.11.2011, 13:24   #5
FRATER1234
Пользователь
 
Регистрация: 26.09.2011
Сообщений: 68
По умолчанию

Первая работает вот тока подскажите как сделать чтоб рандом был матрица
вот код мой
Код:
#include <stdlib.h> 
#include <time.h> 
#include <iostream>
#include <Windows.h>
#include <string.h>
#include <stdio.h>
using namespace std;
void main()
{
		SetConsoleOutputCP(1251);
		srand(unsigned(time(0)));
		int m1, m2,  sm1=0, sm2=0;
		int **pArr;
		cout<<"Ведите количество строк = ";
		cin>>m1;
		cout<<"Ведите количество столбцов = ";
		cin>>m2;
		pArr = new int*[m1+sm1];
		for (int i = 0; i < m1+sm1; i++)
			pArr[i] = new int[m2+sm2];

		for (int i = 0; i < m1+sm1; i++){
			for (int j = 0; j < m2+sm2; j++){
				pArr[i][j]=1;
			}
		}

		for (int i = 0; i < m1+sm1; i++){
			for (int j = 0; j < m2+sm2; j++){
				cout << pArr[i][j] << ' ';
			}
			cout<<"\n\n";
		}
		
		cout << "Введите на сколько увеличеть высоту: " << endl;
		cin >> sm1;
		cout << "Введите на сколько увеличеть ширину: " << endl;
		cin >> sm2;
		pArr = new int*[m1+sm1];
		for (int i = 0; i < m1+sm1; i++)
			pArr[i] = new int[m2+sm2];
		
		for (int i = 0; i < m1+sm1; i++){
			for (int j = 0; j < m2+sm2; j++){
				pArr[i][j]=0;
			}
		}

		for (int i = 0; i < m1+sm1; i++){
			for (int j = 0; j < m2+sm2; j++){
				cout << pArr[i][j] << ' ';
			}
			cout<<"\n\n";
		}

		for (int i = 0; i < m1; i++) 
			delete[]pArr[i];
		delete[]pArr;
}
FRATER1234 вне форума Ответить с цитированием
Старый 15.11.2011, 13:40   #6
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

http://cppstudy.wordpress.com/2009/0...umbers-in-cpp/
По использованию рандома на С
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многомерные массивы! GoogleDOt PHP 6 15.09.2011 09:33
Многомерные массивы MultiArrs в C# Otar4ik Помощь студентам 1 29.03.2011 15:48
Многомерные массивы Zina123 Помощь студентам 1 12.12.2010 21:51
одномерные и многомерные массивы. С# junita Фриланс 2 04.12.2010 22:29
Многомерные массивы DDP Помощь студентам 1 19.12.2009 19:37