двумерные массивы, матрица (С++)
задача1. дана условная матрица, состоящая из m-строк и n-столбцов. задача, удалить строки для которых есть повторяющиеся строки, вывести на экран получившуюся матрицу.либо вывести сообщение "нет"
задача2. дана такая же матрица.сформировать вектор В размерностью из m-элементов, где элемент b(i) содержит элемент из i-ой строки матрицы А,который встречается в ней максимальное число раз, если таких элементов несколько, то выбрать наибольшее и вывести на печать, если нет таких элементов, то вывести минимальный элемент строки.
вот попробовала сделать код к 1-ой задаче..но дальше никак(
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <locale.h>
int main (void)
{
setlocale(LC_ALL, "Russian");
const int n=5;
const int m=5;
int i,j,**a,*z;
srand(time(NULL));
{
for(i=0;i<n;i++)
a=(int**)malloc(n*sizeof(int**));
for(j=0;j<m;j++)
a=(int*)malloc(m*sizeof(int*));
a[j]=rand()%100+1;
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
printf("\n%d",a[j]);
Выделяйте память не в цикле. Вам же известны размеры матрицы до входа в цикл?
Затем, одним циклом заполняйте матрицу рандомными значениями, двигаясь по массиву одним указателем, ведь матрица у вас будет храниться на непрерывном участке памяти.
Ну, а двигаться по строкам или столбцам - тоже с помощью указателей *i и *j. Для столбца - приращение 1, для строки - приращение n (кстати, вот и решение второй задачи). Читаете значения, сравниваете, удаляете (или нет).
P.S. Кросс-постинг у нас очень даже не приветствуется, поэтому попросите модератора раздела C/C++/C# - общие вопросы удалить ваш второй пост (пока он сам этого не заметил).