Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 03.04.2016
Сообщений: 22
1

Создать новую матрицу, скопировав её из исходной; заполнить 30% новой матрицы нулями в случайном порядке

18.04.2016, 02:40. Показов 1278. Ответов 2
Метки нет (Все метки)

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

скопировать 2-мерный массив
и 30% чисел в нем заполнить
нулями (в случайном порядке)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2016, 02:40
Ответы с готовыми решениями:

Создать новую матрицу так, чтобы строки новой матрицы являлись столбцами исходной матрицы
Создать новую матрицу так,чтобы строки новой матрицы являлись столбцами исходной матрицы.(3...

Заполнить массив 5х5 единицами и нулями в случайном порядке
заполнить массив 5х5 единицами и нулями в случайном порядке и проверить существует ли связь через...

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех...

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

2
0 / 0 / 1
Регистрация: 03.04.2016
Сообщений: 22
19.04.2016, 05:40  [ТС] 2
Лучший ответ Сообщение было отмечено Vovan_2 как решение

Решение

Например дан N*N 2-мерный массив
Нужно 30% чисел в нем заполнить
нулями (в случайном порядке)
C++
1
2
3
4
5
6
7
8
    int st, st1,X,Y;
    st = size*size* 0.3;
    for (int s = 0; s < size; s++)
    {
            X = rand() % st;
        Y = rand() % st;
        a[X][Y] = 0;
    }
это код выдаёт ошибку. подскажите пожалуйста как исправить?
0
8 / 8 / 12
Регистрация: 16.05.2014
Сообщений: 151
19.04.2016, 06:15 3
Цитата Сообщение от Vovan_2 Посмотреть сообщение
st = size*size* 0.3;
Vovan_2, здесь у Вас явно больше чем 30% получиться. Из за этого и ошибка, потом используя эту цифру Вы выходите за пределы массива:
Цитата Сообщение от Vovan_2 Посмотреть сообщение
X = rand() % st; Y = rand() % st;
Правильнее будет написать так:
C++
1
st = size* 0.3;
0
19.04.2016, 06:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 06:15
Помогаю со студенческими работами здесь

Заполнить матрицу нулями и единицами в шахматном порядке
Дан двумерный массив N*N. Заполнить матрицу нулями и единицами, чтобы получилась шахмотная доска.

Получить новую матрицу, переставляя блоки исходной матрицы
Ребят, есть задача: Дана действительная квадратная матрица порядка 2n. Получить новую...

Из существующей матрицы n*m записать в новую матрицу все элементы исходной матрицы, кроме максимального и минимального элемента из каждой строки
Здравствуйте! У меня такая задача: мне надо из существующей матрицы n*m запсать в новую матрицу все...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru