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

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

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

небольшая функция на c++ - C++

23.12.2009, 17:55. Просмотров 421. Ответов 9
Метки нет (Все метки)

Необходимо создать функцию,которая меняет элементы массива по логике первый с последним,второй с предпоследним и т.д. начиная с середины ... тобишь надо начать с эл-та n/2 (n- кол-во эл-ов в массиве) и поменять его на n/2+1(если n-четное число) или на n/2+2 (если n-нечетное число) ... Ошибка в общем такая ... Если вводятся 5 чисел : 70,1,35,68,42 ... то он выводит: -33686019,42,68,35,1 ... А если вводятся 6 чисел: 25,70,1,35,68,42 ... то он выводит: 0,-33686019,42,68,35,1

Код:

Код
void namesta(int *A, int n)
{
	if(n%1)
	{
		int b;
		b=n/2+2;
		for(int i=n/2;i>=0;i--)
		{
			swap(A[i],A[b]);b++;
		}
	}
	else
	{
		int v;
		v=n/2+1;
		for(int i=n/2;i>=0;i--)
		{
			swap(A[i],A[v]);v++;
		}
	}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2009, 17:55     небольшая функция на c++
Посмотрите здесь:

Небольшая функция, удаляющая однаковые букви в слове - C++
как написать функцию чтобы удаляло однаковые букви в слове? cout << "\n Введите ключовое слово : "; gets_s(kluch);// ...

Небольшая праблемка - C++
Здравствуйте. Есть такая задача: Дана матрица N строк, М столбцов. Вычислить сумму элементов каждой строки до первого отрицательного. ...

Небольшая проблемка) - C++
Всем доброго времени суток, у меня возникла проблема с напиванием одной программы задание следующее :"Написать функцию нахождения MAX среди...

Небольшая задачка - C++
Доброго времени суток. Я не знал в каком разделе создавать эту тему, так что пишу сюда. Есть небольшая проблема не получается решить...

Небольшая помощь - C++
Ктото может написать небольшой модуль которий будет считивать какуюта інформацию с файла *тхт каждих 2 сек ?? спс

Совсем небольшая ошибка - C++
Помогите найти небольшую ошибку в проге, вот её код #include<iostream> #include<math.h> using namespace std; float Fact(int n) { ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
23.12.2009, 17:58     небольшая функция на c++ #2
такая же задачка у меня была, так и не додумался как сделать(( и никто здесь не подсказал.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.12.2009, 18:05     небольшая функция на c++ #3
Цитата Сообщение от BOR1K Посмотреть сообщение
такая же задачка у меня была, так и не додумался как сделать(( и никто здесь не подсказал.
эт ты зря, такие темы были и не раз и я скидывал кому-то вот это
C++
1
2
3
4
5
6
7
8
9
10
11
void Reverse(int *begin, int *end)
{ 
    int temp;
    while (end>begin)
    {
        temp = *begin;
        *begin = *end;
        *end = temp;
        begin++; end--;
    }
} // end Reverse
buGaGashka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 18:18  [ТС]     небольшая функция на c++ #4
TanT, насколько я понял ты мне кинул прогу эту же логику только начиная с начла и конца ... А мне обязательно надо,чтобы начиналось с середины,т.к. такой вариант у меня уже есть ...
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.12.2009, 18:37     небольшая функция на c++ #5
если правильно понял то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void namesta(int *A, int n)
{
    if(n%2)
    {
        int b;
        b=n/2;
        for(int i=n/2;--i>0;)
        {
            swap(A[i],A[b]); b++;
        }
    }
    else
    {
        int v;
        v=n/2;
        for(int i=n/2;--i>=0;)
        {
            swap(A[i],A[v]);v++;
        }
    }
}
buGaGashka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:02  [ТС]     небольшая функция на c++ #6
TanT, в этом варианте для четного количества чисел все работает нормально,а для нечетного неправильно меняет.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.12.2009, 19:06     небольшая функция на c++ #7
Цитата Сообщение от buGaGashka Посмотреть сообщение
TanT, в этом варианте для четного количества чисел все работает нормально,а для нечетного неправильно меняет.
пример дай, не совсем понял твои объяснения. по моей логике всё правильно
buGaGashka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:15  [ТС]     небольшая функция на c++ #8
TanT, если вводить четное количество элементов он правильно переварачивает массив,если мы ввели: 21,61,81,41,29,23,то получим: 23,29,41,81,61,21
а если вводить нечетное количество элементов: 61,81,41,29,23,то почему-то получаем: 61,41,81,29,23 ... хотя должно было получиться 23,29,41,81,61 ... понятно ?
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.12.2009, 19:21     небольшая функция на c++ #9
строки 6 и 7 моего кода заменить на
C++
1
2
    b=n/2+1;
        for(int i=n/2;--i>=0;)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2009, 19:27     небольшая функция на c++
Еще ссылки по теме:

Небольшая задачка. простенькая - C++
Ну что же, имеется Файлик с названием HappyEnd.txt Нужно: сисушка спрашивает, открыть ли файлик, если да, то тыкай цифру 1, а если нет...

Небольшая ошибка в программе - C++
Я полный новичок в c++, написал программу, которая проверяет, какое число больше, первое, или второе. #include <iostream> using...

Небольшая игрушка в консоли - C++
Решил написать небольшую игру в консольном интерфейсе. Суть такова: в определенную точку на экране при нажатии ЛКМ ставится символ, который...

Небольшая мелочь по теории - C++
"Какой максимальной длины может быть внешнее имя в программе на С++ в Вашей системе?" - с локальными именами понятно-С++ не накладывает...


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

Или воспользуйтесь поиском по форуму:
buGaGashka
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:27  [ТС]     небольшая функция на c++ #10
TanT, Спасибо! Сработало!
Yandex
Объявления
23.12.2009, 19:27     небольшая функция на c++
Ответ Создать тему
Опции темы

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