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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2016, 20:03   #1
EDWIN503
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 15
По умолчанию Нужно написать программу, которая создает динамическую матрицу

Доброго времени суток, нужна ваша помощь.
Нужно написать программу, которая создает динамическую матрицу размерности A[nxm] , элементы матрицы А – целые числа, заданные случайным образом. Найти минимальный элемент матрицы, лежащий выше побочной диагонали.
Изменить порядок столбцов матрицы – упорядочить столбцы матрицы по возрастанию первого элемента столбца.

Я тут набросал чуток, но есть проблемы с минимальным элементом матрицы, лежащим выше побочной диагонали, почему-то проверяются все элементы матрицы, а не только те, которые нужны.

За изменение порядка столбцов пока не брался, буду благодарен если поможете. Заранее спасибо.

Код:
//========================================Библиотеки
#include <math.h>
#include <iostream>
#include <cstdlib>
#include <locale.h>
#include <time.h>
//========================================Инициализация массива
using namespace std;
 
int main(int argc, char *argv[])
{
 setlocale (LC_ALL, ("Rus"));
 int i, n, m, j, min;
 srand(time(NULL));
 printf("Введите размерность массива \n");
 scanf("%d", &n); m=n;
 int **a=new int *[n];
for(i=0;i<n;i++)
 a[i] = new int [n];
  for(i=0;i<n;i++)
   for(int j=0;j<m;j++)
     a[i][j]=rand()%100-rand()%100;
 
//========================================Вывод массива
for(i=0;i<n;i++)
 {
for(int j=0;j<m;j++)
 printf("%3d ",a[i][j]);
 printf("\n");
 }
 printf("=======================\n");
//========================================Поиск минимального элемента
min = 999999;
for (i=1; i<n; i++)
{
    for (j=(n-i); j>1; j--)
    {
        if (min>a[i][j])
        min=a[i][j];
    }
}
printf ("Минимальный элемент массива лежащий выше побочной диагонали: %d", min);
printf ("\n");
//========================================Очистка памяти
for(i=n-1;i>=0;i--)
delete [] a[i];
delete [] a;
 
system("PAUSE");
return 0;
}
//========================================
EDWIN503 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая создает файл МарияА Помощь студентам 1 28.11.2014 16:56
Написать программу, которая заполняет матрицу А(6х7) компонентами типизированного файла и выводит её на экран в виде таблицы Nightway Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2014 14:45
Надо написать программу на ассемблере, которая транспонировала бы матрицу без ведения дополнительной КРИЖ Помощь студентам 0 15.12.2013 23:50
Написать программу, которая вводит символьную матрицу размером 3x4 Mixasnt Помощь студентам 4 30.10.2012 21:25
Написать программу, которая формирует квадратную матрицу nxn andruxa-forever Помощь студентам 0 02.02.2011 12:03