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

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

Войти
Регистрация
Восстановить пароль
 
 
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
#1

Матрица Изменение - C++

27.07.2011, 19:03. Просмотров 934. Ответов 18
Метки нет (Все метки)

Здравствуйте! Просьба такая: "Приведите пожалуйста пример как можно расширять границы матрицы". Например из матрицы 3х3 сделать матрицу 3х4 и новый столбец добавленный сразуже обнулить. Я думаю что с помощью replace но опять такие нужен пример с хорошими пояснениями.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2011, 19:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица Изменение (C++):

Квадратная матрица и изменение значений в ней - C++
Вывести на экран рандомную квадратную матрицу формата NxN где N задаётся пользователем. И в нижнем треугольнике (при разделении квадрата...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...

Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n - C++
Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E-единичная матрица порядка n. Помогите...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица" - C++
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и освобождения памяти, наполнения матрицы, сохранения и чтения из...

18
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
27.07.2011, 19:06 #2
Никак. Только созданием новой матрицы и копированием в нее старой.
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
27.07.2011, 19:11 #3
Цитата Сообщение от neske Посмотреть сообщение
Никак.
Но можно использовать vector
0
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
27.07.2011, 19:15  [ТС] #4
Цитата Сообщение от neske Посмотреть сообщение
Никак. Только созданием новой матрицы и копированием в нее старой.
По моему вы не правы границы можно расширить при помощи reloc как то так, только я не могу понять это, поэтому прошу пример. А про матрицу вы правы, это как один из вариантов.

Добавлено через 26 секунд
Цитата Сообщение от Mayonez Посмотреть сообщение
Но можно использовать vector
Пожалуйста пример
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
27.07.2011, 19:24 #5
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
Пожалуйста пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
 
void output_matr(const std::vector<std::vector<int> > &m){
  //code
}
 
int main(){
  std::vector<std::vector<int> >  matr(3, std::vector<int>(3, 1));
  output_matr(matr);
  std::cout << "\n\n";
  for(size_t i = 0; i < 3; ++i)
    matr[i].resize(4);
  output_matr(matr);
  return 0;
}
2
LosAngeles
Заблокирован
27.07.2011, 19:26 #6
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
По моему вы не правы границы можно расширить при помощи reloc
только для POD типов
1
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
27.07.2011, 21:17  [ТС] #7
Цитата Сообщение от asics Посмотреть сообщение
std::vector
Поясните пожалуйста std ни когда не использовал при разработке программ

Добавлено через 30 секунд
Цитата Сообщение от LosAngeles Посмотреть сообщение
только для POD типов
И что ето за POD типы?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
27.07.2011, 21:31 #8
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
Поясните пожалуйста std ни когда не использовал при разработке программ
http://lmgtfy.com/?q=%D0%BF%D1%80%D0...0%B5%D0%BD+std

Добавлено через 24 секунды
По второму вопросу аналогично.
0
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
28.07.2011, 01:19  [ТС] #9
Цитата Сообщение от asics Посмотреть сообщение
http://lmgtfy.com/?q=%D0%BF%D1%80%D0...0%B5%D0%BD+std

Добавлено через 24 секунды
По второму вопросу аналогично.
Что ж я прочел. 1) про POD ни чего не увидел. 2) возник вопрос, там написано что для использования cin и cout необходимо подключить iostream.h и написать using namespace std, ну или писать так std:: но я только пишу iostream.h и все работает. почему?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:22 #10
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
почему?
Потому что, скорее всего, у вас компилятор от фирмы Borland.
0
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
28.07.2011, 01:31  [ТС] #11
Вот описание и пример функции realloc, нарулил в инете, вопрос с расширение матрицы теперь снят.
Функция Перераспределяет память.

Синтаксис #include<stdlib.h>
void * realloc(void *block, size_t size);

Файл, содержащий stdlib.h и alloc.h
прототип

Описание realloc пытается сжать или увеличить
предварительно выделенный блок до размера в size
байт. Аргумент block указывает на блок памяти,
полученный при вызове функций malloc, calloc или
realloc. Если block является нулевым указателем,
realloc работает также как и malloc.

realloc изменяет размер выделенного блока памяти и
при необходимости копирует его содержимое в новый
блок.

Возвращаемое realloc возвращает адрес блока, который может от-
значение личаться от исходного. Если блок не может быть
выделен или size равно 0, то realloc возвращает
NULL.

Переносимость realloc доступна в системах UNIX и поддерживается
стандартом ANSI C.

Смотрите также calloc, farrealloc, free, malloc.

Пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<string.h>
#include<alloc.h>
 
int main(void)
{
   char *str;
   /* выделить память под строку */
   str = malloc(10);
   /* скопировать в строку "Hello" */
   strcpy(str,"Hello");
   /* вывести строку */
   printf("Строка: %s\n, Адрес: %p\n",str,str);
   str = realloc(str,20);
   printf("Строка: %s\n, Новый адрес: %p\n",str,str);
   /* освободить память */
   free(str);
   return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от asics Посмотреть сообщение
Потому что, скорее всего, у вас компилятор от фирмы Borland.
В точку а этот компилятор что, такой крутянский?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:39 #12
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
а этот компилятор что, такой крутянский?
Наоборот -- га*но.(имхо конечно)
1
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
28.07.2011, 01:41 #13
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
а этот компилятор что, такой крутянский?
не совсем

#include<alloc.h> убрать можно.

перед malloc и realloc нужно делать приведение типа (char*)
0
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
28.07.2011, 01:49  [ТС] #14
Цитата Сообщение от OstapBender Посмотреть сообщение
не совсем

#include<alloc.h> убрать можно.

перед malloc и realloc нужно делать приведение типа (char*)
Зачем, веть там заранее объявлен указатель типа char
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:49 #15
Цитата Сообщение от OstapBender Посмотреть сообщение
перед malloc и realloc нужно делать приведение типа (char*)
В Си не нужно, только в С++, это если ТС кодит на чистом Си.
0
28.07.2011, 01:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2011, 01:49
Привет! Вот еще темы с ответами:

Матрица (изменение местами столбцов 1-ий и последний....) - C++ Builder
Как измененить местами столбцы матрицы 1-ий и последний, второй и предпоследний и.т.д...) матрица w результат залить в матрицу z

.NET 4.x Матрица из TextBox. Реализовать изменение размерности TrackBar'om - Visual Basic .NET
Добрый день. Пытаюсь сделать создание / изменение размера матрицы из textbox с помощью 2 trackbar Создать получается, но с удаление...

Изменение ObservableCollection: автоматическое изменение свойства при изменении в DataGrid - C# WPF
Здравствуйте. Имеется коллекция на 35 параметров. Значения 2 главных параметров складываются из определенных сумм остальных. Вывожу...

Определить конечную температуру, работу процесса сжатия, изменение внутр. энергии и изменение энтальпии - Химия
Помогите, пожалуйста. Я на технической спец-ти, подзабыл химию. При t =298 К (Кельвин) 10гр. кислорода сжимаются адиабатически от 8л....


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

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

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