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

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

Войти
Регистрация
Восстановить пароль
 
Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
#1

Создать функцию, меняющую местами в одномерном массиве 1ый элемент с последним, 2ой с предпоследним и т.д - C++

19.06.2013, 15:05. Просмотров 617. Ответов 3
Метки нет (Все метки)

Здравствуйте, форумчане.

Создать функцию, меняющую местами в одномерном массиве 1ый элемент с последним, 2ой с предпоследним и т.д.. Для работы с элементами массива использовать указатель. Примените данную функцию к строкам матрицы В размерности N на M.

Помогите в решении данной задачи. Очень нужно, очень был бы благодарен! Я просто на стадии зародыша, и могу рассказать программу только на человеческом языке, и то не факт, что верно. Сам я новичек в программировании.. Вообщем мы должны в нашей функции разобрать одну строку этого двумерного массива, поменять местами от начала и от конца переменные и уже в самой программе применить эту функцию для всей матрицы? Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать функцию, меняющую местами в одномерном массиве 1ый элемент с последним, 2ой с предпоследним и т.д (C++):

Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным - C++
Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным. Как можно это...

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

Реализовать функцию, меняющую местами первый столбец матрицы с последним - C++
Помогите, пожалуйста,написать эту программу_( Из файла file1.txt считывается двумерная вещественная матрица А, из файла file2.txt матрица...

Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д - C++
В матрице Z(4,6) поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д., если ни один из этих...

В одномерном массиве, который содержит 15 символов первый символ поменять местами с последним - C++
В одномерном массиве, который содержит 15 символов первый символ поменять местами с последним.

В массиве поменять местами максимальный элемент с последним - C++
Массив содержит 18 элементов вещественного типа. В этом массиве поменять местами максимальный элемент с последним.

3
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
19.06.2013, 15:45 #2
Тип не указан, посему вот шаблонная:
C++
1
2
3
4
5
6
7
8
template <typename T>
void ArrMirr(T *pArr, std::size_t szArr)
{
    T   *pElem1 = pArr;
    T   *pElem2 = &pArr[szArr-1];
 
    while (pElem1 != pElem2)    {std::swap(*pElem1++, *pElem2--);}
}
1
Saddiel
7 / 7 / 0
Регистрация: 02.11.2012
Сообщений: 152
19.06.2013, 16:25  [ТС] #3
Цитата Сообщение от Desu_Is_A_Lie Посмотреть сообщение
Тип не указан, посему вот шаблонная:
C++
1
2
3
4
5
6
7
8
template <typename T>
void ArrMirr(T *pArr, std::size_t szArr)
{
    T   *pElem1 = pArr;
    T   *pElem2 = &pArr[szArr-1];
 
    while (pElem1 != pElem2)    {std::swap(*pElem1++, *pElem2--);}
}
Спасибо большое. Ну типа char, видимо. Не знаю, в задаче не было указано. Вроде, практически все понял в функции, но как встроить в программу. Ну т.е я знаю как будет распологаться, ниже инт мэин, но я сам принцип создания функций не понимаю, что нам она дала то..

Добавлено через 31 минуту
Знакомый человечек предложил этот вариант, но не можем найти ошибку

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
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
#include<time.h>
using namespace std;
void Funk( int a[], const int raz)
{
int vrem;
for(int i=0; i<raz; i++)
       for(int j=raz-1-i; j>=0; j--)
                {vrem=*(a+i);
                *(a+i)=*(a+j);
                a[j]=vrem;}
  for(int i=0; i<raz; i++)
  cout<<*(a+i)<<" ";
 }
  
 int main()
 {
     srand(time(NULL));
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     int n, m;
     cout<<""<<endl;
     cin>>n>>m;
     int **a = new int*[n];
     for(int i = 0; i < n; i++)
            *(a+i) = new int[m];
     for(int i=0; i<n; i++)
            for(int j=0; j<m; j++)
                    *(*(a+i)+j)=rand()%10;
    for(int i=0; i<n; i++)
            {for(int j=0; j<m; j++)
                    cout<<*(*(a+i)+j)<<" ";
            cout<<endl;}
     //for(int i=0; i<n; i++)
     cout<<Funk(*a,m);
     system("pause");
     
     }
                   
    end.
И, кстати, шаблонные функции нельзя использовать вроде как.
0
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
19.06.2013, 19:27 #4
C++
1
2
3
4
5
6
7
void ArrMirr(int *pArr, std::size_t szArr)
{
    int *pElem1 = pArr;
    int *pElem2 = &pArr[szArr-1];
 
    while (pElem1 < pElem2) {std::swap(*pElem1++, *pElem2--);}
}
(в той шаблонной ошибка, работает только для чётных, недосмотрел)
0
19.06.2013, 19:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 19:27
Привет! Вот еще темы с ответами:

Поменять местами столбцы в квадратной матрице по правилу: первый с последним, второй с предпоследним и т.д. - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;stdio.h&gt; #include...

Поменять местами 1ый и последний элемент списка C++ - C++
Ребят посмотрите задачу! исправьте пожалуйста! завтра сдавать, а я не понимаю что нужно сделать, чтобы она работала правильно! Нужно...

В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом - C++
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом Помогите, пожалуйста #include &lt;iostream&gt; ...

Преобразить массив так, чтобы элементы массива поменялись местами: первый - последним, второй - предпоследним, и т.д. - C++
преобразите массив, так чтобы элементы массива поменялись местами. Первое-последним, второе пред последним, и так далее


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

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

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