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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
warhel
Сообщений: n/a
#1

Построить массив из элементов матрицы - C++

23.04.2008, 19:24. Просмотров 860. Ответов 1
Метки нет (Все метки)

Господа, помогите, пожалуйста.
Есть очень простая задача:
Дана квадратная матрица А размерностью от 2 до 10, необходимо построить массив В, в котором будет последовательность из нулей и единиц, Bi=1 тогда и только тогда, когда элементы i-ой строки матрицы А образуют возрастающую последовательность.

Собственно вся проблема заключается в том, что это надо сделать на си, который я к сожалению не знаю. Сделал аналогичное задание на паскале, начал переводить в си и вот что получилось:
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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
int getsz()
{
    int ret;
 
    do
    {
        cout << "Vvedite razmernost matrici(2..10): ";
        cin >> ret;
        if ((ret < 2) && (ret > 10))
            cout << "Oshibka! Razmernost dolzna bit ot 2 do 10!\n";
    }
    while ((ret < 2) && (ret > 10));
    return ret;
}
 
double *getarr(int sz)
{
    double *ret;
 
    ret = new double[sz*sz];
    for (int i = 0; i < sz; i++)
        for (int j = 0; j < sz; j++)
        {
            cout << "[" << i << "," << j << "]: ";
            cin >> *(ret + i*sz + j);
        }
    return ret;
}
 
 
double find( double *ret, int sz)
{
  double g;
  double *ret1;
  int s, j, i, n;
  ret1 = new double[sz];
  for (i = 0; i < s; i++)
  {  
   g = *(ret + i + 0);
   j = 1;
   while ((s < *(ret + i + j++) || (j < n))
   {
     j = j++;
     g = *(ret +i +j);
   }
  }
   if (j==n)
    *(ret1 + i) = 1;
   else
    *(ret1 + i) = 0;  
}
 
void show_arr(int sz, double *arr)
{
    cout << "\nMassiv:\n";
    for (int i = 0; i < sz; i++)
    {
        for (int j = 0; j < sz; j++)
            cout << *(arr + i*sz + j) << "\t";
        cout << "\n";
    }
}
 
void main()
{
        getsz();
        *getarr(a);
        find(ret,a);     
        show_arr(ret,a);
        system("PAUSE");
}
Вроде, насколько я могу судить, всё правильно, кроме функции find, компилятор ругается именно на неё.. Кому не трудно, поправьте ошибки плз, так чтобы на си всё заработало
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2008, 19:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построить массив из элементов матрицы (C++):

Массив: Построить из динамического одномерный массив,каждый элемент, которого равен сумме элементов одной строки исходной матрицы. - C++
Помогите решить. Как можно проще, только начали изучать указатели. Дана динамическая целочисленная матрица.Построить динамический...

Построить массив совпадений элементов диагоналей матрицы - C++
Дана целочисленная матрица А(N, N). Построить по ней целочис-ленный массив В, присвоив его k-мy элементу значение 1, если в k-й строке...

Построить динамический одномерный массив из элементов матрицы - C++
Дана динамическая целочисленная матрица.Построить динамический одномерный массив,каждый эллемент которого равен сумме элементов одной...

Массив: Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали. - C++
Ребят не понимаю я с++ Дали создать программу Помогите пожалуйста Найти среднее арифметическое элементов матрицы и сумму элементов...

Bз наибольших элементов каждой строки матрицы построить вектор.найти сумму элементов этого вектора - C++
из наибольших элементов каждой строки матрицы А(4\4) построить вектор.найти сумму элементов этого вектора.Вывести матрицу А и сумму...

Построить последовательность из элементов матрицы - C++
Знакомый попросил помочь, мол &quot;Тыжпрограммист&quot;, а я в C++ не рублю. Задачи-то простые, алгоритм у них легкий, но есть проблемы с тонкостями...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
warhel
Сообщений: n/a
24.04.2008, 19:45 #2
Всё, разобрался, более не актуально.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2008, 19:45
Привет! Вот еще темы с ответами:

Построить вектор из элементов матрицы - C++
по заданной квадратной матрице размером nxn построить вектор длиной 2n-1, элементы которого - максимумы элементов диаогоналей,...

Массив: Построить массив из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i-ой строке матрицы есть хотя бы отрицательный элемент - C++
Даны натуральное число n, действительная квадратная матрица порядка n. Построить последовательность b1, b2, …, bn из нулей и единиц, в...

Построить вектор из максимальных элементов столбцов матрицы - C++
Построить вектор D, элементы которого равны максимальным элементам столбцов матрицы G (m, n).

Сформировать одномерный массив из диагональных элементов матрицы. Найти след матрицы - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы...


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

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

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