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

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

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

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

23.04.2008, 19:24. Просмотров 847. Ответов 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++
Сформировать массив из элементов матрицы C++
C++ Построить вектор, каждый элемент которого равен количеству равных элементов в соответствующей строке матрицы
Массив: Построить массив из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i-ой строке матрицы есть хотя бы отрицательный элемент C++
Построить одномерный вещественный массив X из n элементов C++
C++ Построить массив из заданного числа элементов
Построить одномерный массив, в котором элементы равны суммам элементов строк данного двумерного массива C++
Построить вектор из максимальных элементов столбцов матрицы C++
Построить массив совпадений элементов диагоналей матрицы C++
Построить последовательность из элементов матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
warhel
Сообщений: n/a
24.04.2008, 19:45     Построить массив из элементов матрицы #2
Всё, разобрался, более не актуально.
Yandex
Объявления
24.04.2008, 19:45     Построить массив из элементов матрицы
Ответ Создать тему
Опции темы

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