Форум программистов, компьютерный форум CyberForum.ru

Помогите сделать функцию рандомного заполнения матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритмы сортировки и поиска http://www.cyberforum.ru/cpp-beginners/thread1691521.html
Выполнить сортировку целочисленного массива (поиск в массиве) из n элементов. Алгоритм сортировки (поиска) оформить в виде функции.Сортировка методом бинарной вставки с использованием рабочего массива. Помогите плиз написать прогу))))
C++ Разместить все положительные элементы в левую верхнюю область матрицы, а неположительные - в правую нижнюю Ребят помогите написать прогу- Разместить все положительные элементы в левую верхнюю область матрицы (заполняя ими матрицу по столбцам сверху вниз), а неположительные – в правую нижнюю область. на C++ http://www.cyberforum.ru/cpp-beginners/thread1691504.html
Поиск в списке C++
#include <iostream> #include <fstream> #include <cstring> #include <windows.h> using namespace std; struct element{ int id; char lastname;
C++ Посредством функций провести анализ ежедневного замера температуры
В массиве содержаться результаты измерений температуры воздуха, которые проводились ежедневно в течение декабря месяца. Определить: a) среднемесячную температуру декабря; b) сколько раз температура была выше 0 oС; c) день, когда температура была наибольшей; d) день, когда первый раз температура поднялась выше нуля и увеличить эту температуру на 1 oС; e) любой из самых холодных дней декабря;...
C++ Перевести из C++ в Си: удалить из исходной строки слова-палиндромы, повторяющиеся более двух раз http://www.cyberforum.ru/cpp-beginners/thread1691434.html
Утро доброе. Нужна помощь. Перевести данный код в Си. Плюсы знаю хорошо, но проблема с реализацией его в Си, ибо не помню действий со строками. Спасибо большое #include <iostream> #include <string> #include <map> #include <algorithm> #include <cstdio> #include <set>
C++ Операции над двусвязным списком Здравствуйте, друзья! Есть такая структура данных : struct List { int data; List *next; List *back; }; С помощью нее реализуем простой двусвязный список подробнее

Показать сообщение отдельно
Студентка93
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 53
22.03.2016, 12:38     Помогите сделать функцию рандомного заполнения матрицы
Из входного потока вводится непрямоугольная матрица целых чисел [aij], i=1,...j=1,....,ni. Значения m и ni заранее неизвестны и вводятся из входного потока.
Сформировать ВЕКТОР {bi}, i=1,..,m, i-ый жлемент которого РАВЕН количеству элементов i-ой строки матрицы, отсутсвующих в (i+1)-ой строке (Bm равен количеству элементов m-ой строки матрицы, отсутсвующих в первой строке).
Исходную матрицу и полученный вектор вывести в выходной поток. Дальше проконсультируйте в написании тела основной функции и функции вывода.

======================================================
Здравствуйте , помогите пожалуйста сделать функцию рандомного заполнения.
Так же возникла проблема при зацикливании , полученная матрица не удаляется

======================================================

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
using namespace std;
//Для задания непрямоугольной матрицы
struct Line{
  int n;
  double *ar;
//  Line *matr;
};
//Функция ввода целого числа
istream& input(int&a) {
  while(!(cin>>a)){
    if(cin.eof()) break;
    cin.clear();
    cin.ignore();
  }
  return cin;
}
//Функция ввода вещественного числа
istream& input(double&a) {
  while(!(cin>>a)){
    if(cin.eof()) break;
    cin.clear();
    cin.ignore();
  }
  return cin;
}
//Ввод количества строк
int input() {
  int n;
  const char *pr="";
  do{
    cout<<pr;
    pr="error!!!";
    cout<<"enter number of int:";
    input(n);
  } while(n<=0);
  return n;
}
//Ввод матрицы
int input(Line*&p)
{
cout<<"kolvo strok v matrice  :";
  int m=input();
  p=new Line[m];
 for(int i=0; i<m; ++i){
cout<<"kolvo elementov v stroke:";
    p[i].n=input();
cout<<"vvedite elementi :\n";
    p[i].ar=new double[p[i].n];
    for(int j=0; j<p[i].n; ++j) input(p[i].ar[j]);
  }
  return m;
}
 
int main() {
  Line *a;             //Переменная для матрицы
  int m=input(a);      //Ввод матрицы, вернуть количество строк
  int *b = new int[m]; //Выделить память под вектор
  for(int k=0;k<m;k++) { //Цикл по строкам
    b[k]=a[k].n;         //Начальное значение элемента вектора для строки
    for(int i=0;i<a[k].n;i++) { //Цикл по элементам текущей строки
      int l=k+1;         //Номер следующей строки
      if (l==m) l=0;     //Последняя строка сравнивается с нулевой строкой
      for(int j=0;j<a[l].n;j++) { //Цикл по элементам следующей строки
        if (a[k].ar[i]==a[l].ar[j]) {
          b[k]--;                 
          break;       
        }
      }
    }
  }
  //Вывод содержимого матрицы
  cout<<endl<<"a=";
  for (int i=0;i<m;i++) {
    cout<<endl<<"(";
    for (int j=0;j<a[i].n;j++) {
      cout<<a[i].ar[j]<<" ";
    }
    cout<<")";
  }
  cout<<endl;
  
  //Вывод содержимого вектора
  cout<<endl<<"b=(";
  for (int i=0;i<m;i++) {
    cout<<b[i]<<" ";
  }
  cout<<")"<<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru