Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
AgitoLeviafan
0 / 0 / 0
Регистрация: 16.11.2015
Сообщений: 15
#1

Использование указателей при обработке матрицы - C++

14.02.2016, 11:57. Просмотров 191. Ответов 3
Метки нет (Все метки)

Ребят,помогите пожалуйста найти в чем ошибка .Задание: В соответствии с вариантом создать функцию, параметром которой является одномерный массив и его размерность. Тело функции реализовать двумя способами: через обращение к элементам массива через указатели и обычным способом. Продемонстрировать возможность применения созданной функции к строкам двумерного массива: Поменять местами первый элемент массива с последним, второй – с предпоследним, и т.д. Использовать функцию для каждой строки матрицы M(8,16).

Собственно мои наработки:
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
#include<iostream>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#include<iomanip>
using namespace std;
 
 int Izmenenie(int* x,int n) {
    for(int i = 0; i < n/2; i++){
 {
        int t;
        t = x[i];
        x[i] = x[n - i - 1];
        x[n - i - 1] = t;
    }}
}
 
    int main ()
    {
        int i,j,n=8,m=16;
        int H[n][m];
        srand((unsigned)time(NULL));
        for(int i=0;i<n;i++){
        for (int j=0; j<m; j++){
        H[i][j]=rand()%10-5;
        cout<<setw(5)<<H[i][j];}
        cout<<endl;}
        for (i=0;i<8;i++){
        cout<<Izmenenie(H[i],16)<<endl;
        }
 
        
        system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2016, 11:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Использование указателей при обработке матрицы (C++):

Использование указателей при создании обьекта - C++
Привет! Собственно вопрос в теме: когда для создания обьекта использовать указатели? Почему в qt и с++ builder используются именно...

Использование указателей при работе с одномерными массивами - C++
Реализовать на Си. Даны натуральное число n, действительные числа a1,...,an. Если последовательность a1,...,an упорядочена по...

Использование указателей при работе с одномерными и двумерными массивами - C++
Даны натуральное число n, действительные числа a1, ..., an. Преобразовать последова-тельность a1, ..., a2n, расположив вначале...

Использование указателей при работе с одномерными и двумерными массивами - C++
Даны натуральное число n, действительные числа A1......An . Если в последовательности A1.....An есть хотя бы один член, меньший, чем -3,...

Использование указателей при работе с одномерными и двумерными массивами. - C++
Кто может решить. Даны натуральное число n,действительные числа X1,...,Xn.Вычислить: (X1+X2+2Xn)(X2+X3+2Xn-1)...(Xn-1+Xn+X2) Язык...

Работа с двумерными числовыми массивами. Использование указателей. Использование функций пользователя. - C++
Помогите пожалуйста!!!!!!! Сделать три варианта: первый вариант – передача данных между функциями с помощью глобального...

3
Dastan4ik
62 / 62 / 31
Регистрация: 18.10.2014
Сообщений: 187
Завершенные тесты: 2
14.02.2016, 12:31 #2
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
#include<iostream>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#include<iomanip>
using namespace std;
 
 int Izmenenie(int* x,int n) {
    for(int i = 0; i < n/2; i++){
 {
        int t;
        t = x[i];
        x[i] = x[n - i - 1];
        x[n - i - 1] = t;
    }}
}
 
    int main ()
    {
        int i,j,n=8,m=16;
        int H[n][m];
        srand((unsigned)time(NULL));
        for(int i=0;i<n;i++){
        for (int j=0; j<m; j++){
        H[i][j]=rand()%10-5;
        cout<<setw(5)<<H[i][j];}
        cout<<endl;}
Izmenenie(H,16);//тут ты передаешь элемент массива т е каждый элемент по отдельности а надо целый массив так как у тебя функция работает с целым массивом
        for (i=0;i<8;i++){
        cout<<H[i]<<endl;
        }
 
        
        system("pause");
}
0
zss
Модератор
Эксперт С++
6530 / 6092 / 2007
Регистрация: 18.12.2011
Сообщений: 15,844
Завершенные тесты: 1
14.02.2016, 12:32 #3
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
#include<iostream>
//#include<math.h>
#include<ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
 
void Izmenenie(int* x,int n) 
{
    for(int i = 0; i < n/2; i++)
    {
        int t;
        t = x[i];
        x[i] = x[n - i - 1];
        x[n - i - 1] = t;
    }
}
 
int main ()
{
    const int n=8,m=16;
    int H[n][m];
    srand((unsigned)time(NULL));
    for(int i=0;i<n;i++)
    {
        for (int j=0; j<m; j++)
        {
            H[i][j]=rand()%10-5;
            cout<<setw(4)<<H[i][j];
        }
        cout<<endl;
    }
    for (int i=0;i<n;i++)
        Izmenenie(&H[i][0],m); // передаем адрес 0-го элемента очередной строки, т.е. адрес начала строки
 
    cout<<"result\n";
    for(int i=0;i<n;i++)
    {
        for (int j=0; j<m; j++)
            cout<<setw(4)<<H[i][j];
        cout<<endl;
    }
    system("pause");
    return 0;
}
0
AgitoLeviafan
0 / 0 / 0
Регистрация: 16.11.2015
Сообщений: 15
14.02.2016, 13:37  [ТС] #4
Огромное спасибо ребят,а что подразумевает собой обычный способ ? Просто в некоторых примерах ,он отличается только тем ,что вместо void Izmenenie(int* x,int n) нужно использовать void Izmenenie(int x[],int n).
0
14.02.2016, 13:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2016, 13:37
Привет! Вот еще темы с ответами:

использование указателей - C++
Подскажите, пожалуйста, в чем здесь ошибка? #include &lt;iostream&gt; using namespace std; int x = 20; int *x; int main() ...

использование указателей - C++
Должна быть разработана программа с меню с использованием указателей: 1. Изменить порядок следования элементов в массиве так, чтобы...

использование указателей - C++
не знал как тему даже назвать :-class CTest { public: int x; void xpp() { x++; } };

Использование указателей - C++
Всем привет, вот изучаю помалу С++. И уже третий час немогу впарится в Указатели недаётся мне это, вот вроде более менее разобрался,...


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

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

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