Как создать матрицу в c
Перейти к содержимому

Как создать матрицу в c

  • автор:

Матрицы в Си

Матрица это набор объектов, которые хранятся в виде таблицы. У каждой матрицы есть имя, единый тип всех ее объектов.

Обявление матрицы в Си

Также как и переменные матрицу в Си необходимо объявить перед тем как с ней работать, необходимо указать ее тип, ее имя , количество строк -1 и количество столбцов -1. Нумерация столбцов и строк идет с 0.

Тип матрицы Имя [количество строк-1][количество столбцов-1];

int A[8][9] ; / /объявляет целочисленную матрицу с именем A , у которой 9 строк и 10 столбцов

После объявления матрицы, с ее элементами можно работать. Чтобы обратитсья к элементу матрицы нужно указать имя матрицы в первых квадратных скобках указать номер строки, во вторых квадратных скобках указать номер столбца.

A[0][1]=10; // элементу матрицы с номер строки 0 и столбца 1 присваивается значение 10

printf(“%d”, A[0][1]);// выводит на экран элемент матрицы с номер строки 0 и столбца 1

Задание матрицы в Си

Чтобы работать с матрицей в Си, необходимо присвоить начальные значения всех ее элементов.

Для работы со всеми элементами матрицы используется вложенные циклы for

В главном цикле “пробегаем” по всем строкам, а во вложенном “пробегаем” по всем столбцам для каждой строки.

// “пробегаемся” по всем строкам. Нумерация строк с 0.

// вложенный цикл, “пробегаемся” по всем столбцам для Нумерация столбцов с 0.

…Имя матрицы [i][j]…// работаем с элементом матрицы с номером строки i и номером столбца j

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

int a[9][9]; // объявление матрицы 10 на 10

int i,j; // счетчики циклов

int range;// диапазон в котором присваиваются значения элементов матрицы

//ввод диапазона случайных чисел

printf(«введите диапазон заполнения\n»);

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

a[i][j]=rand() % range+1; // прсиваиваем элементу матрицы a с номером строки i и номер столбца j случайного значения в диапазоне от 0 до 9

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// переход на следующую строку

При выводе матрицы на экран в Си для каждой строки мы совершаем переход на следующую строку с помощью оператора printf(» «);

Ввод матрицы в Си с помощью клавиатуры

Пример программы 23. Задаётся матрица размера 3 на 3 с помощью клавиатуры и ищется ее максимальный элемент. Он выводится на экран. При поиске максимального элемента, мы создаем специальную переменную max и присваиваем ей значение элемента a[0][0]. Пробегаем по всем элементам матрицы с помощью вложенного цикла, сравнивая текущий элемент с максимумом, если текущий элемент больше максимума, то максимуму присваивается значение этого элемента.

int a[2][2]; // объявление матрицы 3 на 3

int i,j; // счетчики циклов

int max; // переменная для хранения максимального элемента матрицы

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// ввод текущего элемента матрицы с клавиатуры

printf(«Введите элемент матрицы [%d][%d]», i, j);

// переход на следующую строку

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// переход на следующую строку

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// сравниваем текущий элемент массива с максимумом

// вывод максимального элемента

printf («Максимальный элемент массива %d», max);

Вернуться к содержанию Перейти к теме Работа с файлами в Си

Полезно почитать по теме массивы и матрицы в си
Массивы в си
Игра на си Крестики Нолики

Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

векторы и матрицы c++

Как из строк матрицы получить векторы? UPD: Описание: матрица (2 мерный массив) имеет 2 столбца , и эти столбца нужно превратить в 2 вектора (массива).

Отслеживать
51.4k 87 87 золотых знаков 267 267 серебряных знаков 508 508 бронзовых знаков
задан 3 мая 2011 в 16:24
Левон Авалян Левон Авалян
1 1 1 серебряный знак 1 1 бронзовый знак

Некорректный вопрос. Сначала опишите, какое представление матриц и векторов вы используете. А то напрашивается ответ: повернуть строку на 90 градусов)

3 мая 2011 в 16:44

Открою вам страшную тайну: строки матрицы являются векторами. Вот если говорить про столбцы. То там, да, надо что-то делать.

создание матрицы

Author24 — интернет-сервис помощи студентам

Создание матрицы по следующему правилу
Квадратную матрицу из М строк и столбцов переписать в одномерный массив по правилу: сначала в.

Динамические матрицы: создание, транспонирование, перемножение
Добрый день! Помогите написать функцию: 1. double *makeMatrix(unsigned int m, unsigned int n).

Нахождение min и max элементов матрицы, создание матрицы определенного вида
1. дана матрица, где выше побочной диагонали (включая её саму) нули. сгенерировать матрицу.

Создание матрицы
Есть следующий способ задания матрицы — с помощью встроенных функций numpy.eye(N, M=None, . ).

284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283

Лучший ответ

Сообщение было отмечено как решение

Решение

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
#include #include #include float** createFloatMatrix(unsigned int n, unsigned int m) { unsigned int i; float* val = (float*)malloc(sizeof(float)*n*m); float** matr = (float**)malloc(sizeof(float*)*n); for (i=0; i  n; ++i) matr[i] = val + i*m; return matr; } int main(int argc, const char* argv[])  matrix = createFloatMatrix(n, m); for (i=0; i  n; ++i) for (j=0; j  m; ++j) matrix[i][j] = i*m+j; for (i=0; i  n; ++i) { for (j=0; j  m; ++j) printf("%3.2f ", matrix[i][j]); printf("\n"); } free(matrix[0]); free(matrix); return 0; }

Как создать матрицу в c

я имею введу то, что нужно создать матрицу с вводом елементов. Например матрица А 3х4 и нужно вручную вводить эти самые елементы. Делать это нужно через цикл или как? Я понимаю как создать матрицу с помощью массивов, но как вручну задавать елементы не очень(.

13 фев 2011 в 17:43
С чем именно проблема? С чтением ввода пользователя?
13 фев 2011 в 17:51
Да! Как правильно это реализовать на с?
13 фев 2011 в 17:52
@Nychos я дополнил свой ответ
13 фев 2011 в 18:13

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для решения задачи Вам необходимо сделать ровно то, что Вы нам сообщили.

P.S. Правду говорят — в вопросе обычно содержится если не весь, то половина ответа =).

Вот набросал элементарнейший пример чтения массива:

int N; printf("Enter number of items: "); scanf("%d", &N); int *arr = (int*)malloc(sizeof(int) * N); for (int i = 0; i < N; ++i) < printf("Enter item #%d: ", i); scanf("%d", &(arr[i])); >// … free(arr); 

Обратите внимание, на то, что вариант далёк от идеала, поскольку нет никакой проверки корректности ввода. Но Вам, как я понимаю, надо для учебного задания, так что сойдёт.

Матрицы в Си

Матрица это набор объектов, которые хранятся в виде таблицы. У каждой матрицы есть имя, единый тип всех ее объектов.

Обявление матрицы в Си

Также как и переменные матрицу в Си необходимо объявить перед тем как с ней работать, необходимо указать ее тип, ее имя , количество строк -1 и количество столбцов -1. Нумерация столбцов и строк идет с 0.

Тип матрицы Имя [количество строк-1][количество столбцов-1];

int A[8][9] ; / /объявляет целочисленную матрицу с именем A , у которой 9 строк и 10 столбцов

После объявления матрицы, с ее элементами можно работать. Чтобы обратитсья к элементу матрицы нужно указать имя матрицы в первых квадратных скобках указать номер строки, во вторых квадратных скобках указать номер столбца.

A[0][1]=10; // элементу матрицы с номер строки 0 и столбца 1 присваивается значение 10

printf(“%d”, A[0][1]);// выводит на экран элемент матрицы с номер строки 0 и столбца 1

Задание матрицы в Си

Чтобы работать с матрицей в Си, необходимо присвоить начальные значения всех ее элементов.

Для работы со всеми элементами матрицы используется вложенные циклы for

В главном цикле “пробегаем” по всем строкам, а во вложенном “пробегаем” по всем столбцам для каждой строки.

// “пробегаемся” по всем строкам. Нумерация строк с 0.

// вложенный цикл, “пробегаемся” по всем столбцам для Нумерация столбцов с 0.

…Имя матрицы [i][j]…// работаем с элементом матрицы с номером строки i и номером столбца j

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

int a[9][9]; // объявление матрицы 10 на 10

int i,j; // счетчики циклов

int range;// диапазон в котором присваиваются значения элементов матрицы

//ввод диапазона случайных чисел

printf(«введите диапазон заполнения\n»);

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

a[i][j]=rand() % range+1; // прсиваиваем элементу матрицы a с номером строки i и номер столбца j случайного значения в диапазоне от 0 до 9

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// переход на следующую строку

При выводе матрицы на экран в Си для каждой строки мы совершаем переход на следующую строку с помощью оператора printf(» «);

Ввод матрицы в Си с помощью клавиатуры

Пример программы 23. Задаётся матрица размера 3 на 3 с помощью клавиатуры и ищется ее максимальный элемент. Он выводится на экран. При поиске максимального элемента, мы создаем специальную переменную max и присваиваем ей значение элемента a[0][0]. Пробегаем по всем элементам матрицы с помощью вложенного цикла, сравнивая текущий элемент с максимумом, если текущий элемент больше максимума, то максимуму присваивается значение этого элемента.

int a[2][2]; // объявление матрицы 3 на 3

int i,j; // счетчики циклов

int max; // переменная для хранения максимального элемента матрицы

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// ввод текущего элемента матрицы с клавиатуры

printf(«Введите элемент матрицы [%d][%d]», i, j);

// переход на следующую строку

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// переход на следующую строку

// пробегаем по всем строкам

// пробегаем по всем столбцам для данной строки i

// сравниваем текущий элемент массива с максимумом

// вывод максимального элемента

printf («Максимальный элемент массива %d», max);

Вернуться к содержанию Перейти к теме Работа с файлами в Си

Полезно почитать по теме массивы и матрицы в си
Массивы в си
Игра на си Крестики Нолики

Нет комментариев. Ваш будет первым!

Как создать матрицу в С++?

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

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

как создать матрицу(смотрите описание)
создать квадратную матрицупорядка n ,элементы которой-случайные числа 0,1,2,3.Определить,сколько в.

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

Создать квадратную матрицу, сформировать новую матрицу такой же размерности путём транспонирования исходной
Создать квадратную матрицу размерности (30, 30). Заполнить её случайными целыми числами из.

Создать шаблонную матрицу как вектор векторов
Здравствуйте! Пишу программу по матрицам. При чем матрица создается здесь как вектор векторов. Не.

250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288

1 2 3 4 5 6 7 8 9 10 11 12 13
int n; cout"Matrix size: "; cin>>n; int **ptr; ptr = new int*[n];//создание for(int i = 0; i n; i++) ptr[i]=new int[n]; /*тут работаешь с матрицей*/ for(int i = 0; i n; i++)//удаление delete ptr[i]; delete []ptr;

Добавлено через 56 секунд
«. сформулировать . » wtf ?

Добавлено через 15 секунд
покажи код =)

Регистрация: 25.04.2012
Сообщений: 13

я очень благодарен за то что помогаете. я немогу Вам показать код так как его нету. мне дали условие задачи что нужно просто — сформулировать матрицу размерности 12х12. сформулировать в смысле создать. видимо нужно что бы прога сама создавала матрицу. облазил кучу форумов. но ответили пока только тут. все мои старания в С ++ выводят к тому что имею кучу ошибок в кодах. прошу помогите создать ету как везду пишут «простую» матрицу.

97 / 72 / 28
Регистрация: 08.10.2011
Сообщений: 130

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
#include int main()  const int n=12; int a[n][n]; //Ввод элементов for (int i=0;in;i++)  for (int j=0;jn;j++)  cout "Vvedite element a["  "]["  "] "; cin >> a[i][j]; cout ; > > //Вывод элементов for (int i=0;in;i++)  for (int j=0;jn;j++)  cout [i][j] " "; > cout ; > return 0; >

Регистрация: 25.04.2012
Сообщений: 13

main.obj — 3 error(s), 0 warning(s)

почему у меня ошибки выбрасывает?(((я скопировал код.

Регистрация: 16.11.2011
Сообщений: 100

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include using namespace std; int main (void)  const int n=12, m=12; int a[n][m]; for(int i=0;in;i++)  for(int j=0;jm;j++)  cin >> a[i][j]; > > return 1; >

Регистрация: 19.12.2011
Сообщений: 35

programmer_11,
библиотека iostream давно вроде бы подключается как , и чтобы использовать cout\cin
надо писать так:

#include using namespace std;

Как задать матрицу на C++?

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

  • Вопрос задан более двух лет назад
  • 1327 просмотров

Решения вопроса 0

Ответы на вопрос 1

Sergomen

Просто делай добро и оно вернётся

// потрібні бібліотеки: #include #include #include //. srand(time(0)); int A[3][3]; // матриця 3 на 3 /* матриці задаються двомірними масивами */ //заповнення рандомом for (int i = 0; i < 3; i++)< for (int j = 0; j < 3; j++)< A[i][j] = rand() % 100 + 1; // 100 максимум, 1 - мінімум cout = 3 -1) < cout >>

Ответ написан более двух лет назад

Нравится 1 Комментировать

Похожие публикации:

  1. Epam anywhere что это
  2. Olsrd что такое
  3. Как узнать wan mac адрес роутера
  4. Принтер capt что это

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *