Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
frEEze00
2 / 2 / 0
Регистрация: 10.07.2014
Сообщений: 25
1

Создать двумерный массив, каждый элемент которого задается случайным образом

19.08.2014, 02:53. Просмотров 584. Ответов 2
Метки нет (Все метки)

Если вкратце, нужно создать двумерный массив, каждый элемент которого задается случайным образом. Вот моя программа:
C++
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
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>;
#include <cstdlib>;
#include <ctime>;
 
using namespace std;
 
void massivMinMax(int razmer, int **mas)
{           //функция, которая ищет максимальный и минимальный элемент на(над) главной и побочной диаганалью
    int i, j;
    int max=mas[0][0], min=mas[0][0];
    for (i=0; i<razmer; i++)
    {
        cout<<"\n";
        for (j=0; j<razmer; j++)
        {   
            if ((i<=j) && (i+j<razmer))
            {
 
                if (mas[i][j] < min) {min=mas[i][j]; }
                if (mas[i][j] > max) {max=mas[i][j]; }
                cout<<mas[i][j]<<" ";
            }
            else {cout<<"  ";}
        }
    }
    cout<<"\nМинимальный:"<<min<<"\n";
    cout<<"Максимальный:"<<max<<"\n";
    
};
int main(){
setlocale(LC_ALL,"RUSSIAN");
int menu, i, j, razmer;
int **mas;
mas = new int *[99];
for (i=0; i<99; i++){mas[i]=new int[99];}
 
        srand(time(NULL));
    razmer=rand() % 5 + 1;   //пусть размер будет до 5
    cout<<"Случайный размер = "<<razmer<<"\n";
    cout<<"Случайная матрица:";
    for (i=0; i<razmer; i++);
    {
        cout<<"\n";
        for (j=0; j<razmer; j++)
        {
            mas[i][j]=rand() % 100 + 1;
            cout<<mas[i][j]<<" ";
        }
    }
 
    massivMinMax(razmer,mas);
 
system("pause");
return 0;
}
проблема в том, что у меня выводит только первую строку матрицы.

Добавлено через 8 минут
вопрос отменяется, в 41 строке лишний символ ";" в конце строки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 02:53
Ответы с готовыми решениями:

Двумерный массив. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца
Дан двумерный массив, целых чисел. Сформировать одномерный массив, каждый...

Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить...

Заполнить двумерный динамический массив случайным образом
Написать функции для работы с двумерным динамическим массивом: - создать...

Случайным образом заполнить двумерный массив (с++ помогите)
Случайным образом заполнить двумерный массив. Каждую строку упорядочить по...

Создать массив, каждый элемент которого содержит сумму делителей элементов исходного массива
с клавиатуры вводится масив. создать новый массив в который каждый...

2
castaway
Эксперт С++
4934 / 3039 / 455
Регистрация: 10.11.2010
Сообщений: 11,119
Записей в блоге: 10
Завершенные тесты: 1
19.08.2014, 07:48 2
А почему твоя проблема никак не связана с вопросом?
0
Donnerwetter
40 / 40 / 17
Регистрация: 04.02.2014
Сообщений: 144
19.08.2014, 09:07 3
frEEze00, несколько советов по коду:

1. При выводе матрицы используйте выравнивание с помощью функции setw(), тогда диагонали будут нагляднее и удобнее смотреть результат:
C++
1
cout << setw(2) << mas[i][j] << " ";
Аргумент в скобках означает разрядность элементов массива - двух-, трехзначные числа и т.д. Только для работы функции не забудьте подключить #include<iomanip>.

2. Функция massivMinMax у Вас помимо прочего выводит заданный фрагмент, отделите его визуально от исходной матрицы. А то цифры сливаются, я сразу подумал, что "левые" значения выводятся. И вообще вырабатывайте привычку писать отдельные функции для конкретных задач. Допустим, одна - выводит фрагмент матрицы, другая - ищет максимум и минимум. Не смешивайте. Тогда будет проще искать баги и вносить изменения в программу.

3. Из рандома, определяющего размер можно убрать значения 1 и 2, все равно там нет диагоналей. Пусть выводит сразу матрицы от [3][3].
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 09:07

Создать массив, каждый элемент которого равен среднему арифметическому соответствующей строки данной матрицы
Матрица А(5,3) задать по формуле A=-cos(-4,3i-j). Создать новый одномерный...

Дан двумерный массив размером 5х6, заполненный случайным образом
Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить...

Дан двумерный массив размером nxm, заполненный случайным образом
23. Дан двумерный массив размером nхm, заполненный случайным образом....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru