Консультация № 150178
11.11.2008, 09:35
0.00 руб.
0 2 2
Доброго времени суток! Помогите с программой. Вводим два значения lind і rind (левый и правый индекс матрицы), после этого на экран выводится матрица заполнена числами от 1 до N и с размером lind на rind.

Обсуждение

Неизвестный
11.11.2008, 10:12
общий
это ответ
Здравствуйте, Uking! Реализация программы в приложении.

I wish you successes!

Приложение:
//Заголовок ввода/вывода
#include <iostream>
//Заголовок для поддержки функций для манипуляции вводом/выводом
#include <iomanip>
using namespace std;

int main()
{
//Функция для поддержки кириллицы
setlocale(LC_CTYPE, "Russian");
//Объявляем двумерный массив размерностью 30 на 30;
int dmas[30][30];
//Объявляем переменные левого и правого индексов
int lind, rind;

cout << endl << " Введите значение левого индекса: ";
//Обеспечение ввода значения левого индекса
cin >> lind;

cout << endl << " Введите значение правого индекса: ";
//Обеспечение ввода значения правого индекса
cin >> rind;

cout << endl << " Двумерный массив [" << lind << "]" << " на " << "[" << rind << "]" << endl << endl;
//Автоматически заполняем и выводим матрицу на экран
for(int i = 0; i < lind; i++)
{
for(int j = 0; j < rind; j++)
{
dmas[i][j] = ((i * rind) + j + 1);
cout << ' ' << dmas[i][j];
}
//Отступ
cout << endl;
}
//Отступ
cout << endl;

return 0;
}
Неизвестный
11.11.2008, 15:09
общий
это ответ
Здравствуйте, Uking!
Другой вариант решения. В динамической памяти создается массив указателй. С помощью ф-ии rand() заполняется случайными значениями. И выводится на экран.
После того, как массив перестает быть нужным, необходимо обязательно его удалить, чтобы не было утечки памяти!!!
После того, как ввели размеры масива, сразу создается массив необходимого размера. А в предыдущем решении, если задать один из размеров массива >30, то произойдет выход за его границы.
Бкдут вопросы,задавайте в минифоруме.
Удачи!!!

Приложение:
//Определяет потоковый ввод/вывод
#include <iostream>
//Позволяют использовать ф-ю rand()
#include <time.h>
#include <stdlib.h>
//Задает пространство имен
using namespace std;

int main()
{
srand(time(NULL));

//Ввод размера массива m x n
int m,//lind
n;//rind
cout<<"BBEDITE PA3MEP MACCuBA:\n ";
cin>>m>>n;

//Создание массива указателей,заполнение его случайными значениями и вывод на экран
int** arr=new int*[m];
for (int i=0;i<m;i++){
arr[i]=new int[n];
for (int j=0;j<m;j++){
arr[i][j]=rand()%20-10;
cout<<arr[i][j]<<"\t";
}
cout<<endl;
}

cout<<endl;

//Очистка памяти
for(int i=0; i<m; i++)
{
delete [] arr[i];
}

return 0;
}
Форма ответа