Важная информация
Показано с 1 по 3 из 3

Тема: Обработка матрицы случайных чисел на С++

  1. #1 Обработка матрицы случайных чисел на С++ 
    Новичок
    Регистрация
    21.12.2015
    Сообщений
    4
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Программа должна запрашивать размеры матрицы и самостоятельно заполнять ее с
    помощью генератора случайных чисел. Верхняя граница для значения элементов матрицы
    также вводится с клавиатуры
    Дана целочисленная квадратная матрица.
    1) Найти сумму модулей элементов в строках, содержащих хотя бы один отрицательный
    элемент.
    2) Определить номер первой строки, содержащей нулевой элемент
    Последний раз редактировалось rrrFer; 12.02.2016 в 16:09.
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 249 раз(а) в 164 сообщениях
    Заполнение матрицы случайными числами на С++ (схематично набросал решение, могут быть опечатки)

    C++ Code:
    1. #include <iostream>
    2. #include <time.h>
    3. using namespace std;
    4.  
    5. int main(){
    6.     int n, m, **a, from, to;
    7.     srand(time(NULL));
    8.  
    9.     cin >> n >> m >> from >> to;
    10.     a = new int*[n];
    11.     for(int i = 0; i < n; i++) {
    12.         a[i] = new int[m];
    13.         for (int j = 0; j < m; ++j)
    14.            a[i][j] = from + rand() % (to-from);
    15.     }
    16.   
    17.      for(int i = 0; i < n; i++) {
    18.         for (int j = 0; j < m; ++j)
    19.            cout << a[i][j];
    20.         cout << endl;
    21.     }
    22. }
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

  3. 2 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (18.01.2016), Free Admin (18.01.2016)

  4. #3  
    Профи Аватар для rrrFer
    Регистрация
    01.08.2013
    Сообщений
    561
    Сказал(а) спасибо
    34
    Поблагодарили 249 раз(а) в 164 сообщениях
    Найти сумму модулей элементов в строках, содержащих хотя бы один отрицательный
    элемент.
    Проверка строки матрицы (одномерного массива) на наличие отрицательных элементов:
    C++ Code:
    1. bool check_negative(int *arr, int n) {
    2.   for (int i = 0; i < n; ++i)
    3.     if (a[i] < 0)
    4.        return true;
    5.   return false;
    6. }


    Тогда для поиска суммы модулей:
    C++ Code:
    1. for (int i = 0; i  < n; ++i) {
    2.   if (check_negative(a[i], m)) {
    3.     int sum = 0;
    4.     for (int j = 0; j < m; ++j)
    5.       sum += abs(a[i][j]);
    6.     cout << "сумма модулей в " << i << "-той строке: " << sum;
    7.   }
    8. }


    Для поиска первой строки с нулевым элементом тоже напишем вспомогательную функцию для проверки строки на содержание нулевых элементов:
    C++ Code:
    1. bool check_zero(int *arr, int n) {
    2.   for (int i = 0; i < n; ++i)
    3.     if (a[i] == 0)
    4.        return true;
    5.   return false;
    6. }


    Тогда первую строку можно найти так:
    C++ Code:
    1. for (int i = 0; i  < n; ++i) {
    2.   if (check_zero(a[i], m)) {
    3.     cout << i << "-тая строка содержит нулевой элемент";
    4.     break;
    5.   }
    6. }
    [Ссылки могут видеть только зарегистрированные пользователи. ] // программирование на Prolog, Erlang, C++
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 33
    Последнее сообщение: 15.04.2015, 01:08
  2. Нужна софтина-обработка
    от bestcomps в разделе Архив
    Ответов: 0
    Последнее сообщение: 07.04.2014, 17:22
  3. Ответов: 16
    Последнее сообщение: 25.10.2013, 11:15
  4. Обработка символьных массивов
    от qwerty24 в разделе C/C++
    Ответов: 0
    Последнее сообщение: 14.11.2012, 18:44
  5. Ответов: 5
    Последнее сообщение: 17.01.2011, 15:54
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •