Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
13 / 8 / 3
Регистрация: 07.01.2011
Сообщений: 149
1

Матрица Изменение

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

Author24 — интернет-сервис помощи студентам
Здравствуйте! Просьба такая: "Приведите пожалуйста пример как можно расширять границы матрицы". Например из матрицы 3х3 сделать матрицу 3х4 и новый столбец добавленный сразуже обнулить. Я думаю что с помощью replace но опять такие нужен пример с хорошими пояснениями.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2011, 19:03
Ответы с готовыми решениями:

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

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

Матрица из TextBox. Реализовать изменение размерности TrackBar'om
Добрый день. Пытаюсь сделать создание / изменение размера матрицы из textbox с помощью 2 trackbar...

Изменение цвета на экране на белом фоне (матрица ноутбука)
Доброго времени суток. Столкнулся с такой проблемой как на фото.

18
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
27.07.2011, 19:06 2
Никак. Только созданием новой матрицы и копированием в нее старой.
0
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
27.07.2011, 19:11 3
Цитата Сообщение от neske Посмотреть сообщение
Никак.
Но можно использовать vector
0
13 / 8 / 3
Регистрация: 07.01.2011
Сообщений: 149
27.07.2011, 19:15  [ТС] 4
Цитата Сообщение от neske Посмотреть сообщение
Никак. Только созданием новой матрицы и копированием в нее старой.
По моему вы не правы границы можно расширить при помощи reloc как то так, только я не могу понять это, поэтому прошу пример. А про матрицу вы правы, это как один из вариантов.

Добавлено через 26 секунд
Цитата Сообщение от Mayonez Посмотреть сообщение
Но можно использовать vector
Пожалуйста пример
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 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
Заблокирован
27.07.2011, 19:26 6
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
По моему вы не правы границы можно расширить при помощи reloc
только для POD типов
1
13 / 8 / 3
Регистрация: 07.01.2011
Сообщений: 149
27.07.2011, 21:17  [ТС] 7
Цитата Сообщение от asics Посмотреть сообщение
std::vector
Поясните пожалуйста std ни когда не использовал при разработке программ

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

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

Добавлено через 24 секунды
По второму вопросу аналогично.
Что ж я прочел. 1) про POD ни чего не увидел. 2) возник вопрос, там написано что для использования cin и cout необходимо подключить iostream.h и написать using namespace std, ну или писать так std:: но я только пишу iostream.h и все работает. почему?
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:22 10
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
почему?
Потому что, скорее всего, у вас компилятор от фирмы Borland.
0
13 / 8 / 3
Регистрация: 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
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:39 12
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
а этот компилятор что, такой крутянский?
Наоборот -- га*но.(имхо конечно)
1
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
28.07.2011, 01:41 13
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
а этот компилятор что, такой крутянский?
не совсем

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

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

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

перед malloc и realloc нужно делать приведение типа (char*)
Зачем, веть там заранее объявлен указатель типа char
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:49 15
Цитата Сообщение от OstapBender Посмотреть сообщение
перед malloc и realloc нужно делать приведение типа (char*)
В Си не нужно, только в С++, это если ТС кодит на чистом Си.
0
13 / 8 / 3
Регистрация: 07.01.2011
Сообщений: 149
28.07.2011, 01:50  [ТС] 16
Цитата Сообщение от asics Посмотреть сообщение
Наоборот -- га*но.(имхо конечно)
Давно хотел узнать что означает имхо и все таки что в этом кампиляторе такого плохого?
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.07.2011, 01:53 17
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
и все таки что в этом кампиляторе такого плохого?
Не соответствие стандарту, я про ++.
0
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
28.07.2011, 02:00 18
asics, да, похоже , что так. но тем не менее.
0
Заблокирован
28.07.2011, 07:44 19
Цитата Сообщение от gr_8_zizu Посмотреть сообщение
И что ето за POD типы?
К POD-типам относятся:
все встроенные арифметические типы (включая wchar_t и bool);
энумераторы, т.е. типы, объявленные с помощью ключевого слова enum;
все указатели;
POD-структуры (struct или class) и POD-объединения (union), которые удовлетворяют всем нижеприведенным требованиям:
не содержат пользовательских конструкторов, деструктора или копирующего оператора присваивания (копирующий оператор присваивания – это такой нешаблонный нестатический operator=, у которого есть строго один параметр типа X, X&, const X&, volatile X& или const volatile X&, где X – тип рассматриваемой структуры или объединения);
не имеют базовых классов;
не содержат виртуальных функций;
не содержат защищенных (protected) или закрытых (private) нестатических членов данных;
не содержат нестатических членов данных не-POD-типов (или массивов из таких типов), а также ссылок.
Соответственно, все оставшиеся объектные типы являются не-POD-типами.
Примечание: наличие квалификаторов const и volatile не влияет на «POD-овость» типа.
1
28.07.2011, 07:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2011, 07:44
Помогаю со студенческими работами здесь

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной.
Ребят,помогите решить задачу &quot;Дана квадратная матрица А порядка n. Проверить, является ли матрица...

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью...

Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа?
Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа с...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое:...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru