|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++ |
|
C/C++ - [решено] Помогите решить задачу по С++
|
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать В одномерном массиве целых чисел расставить четные числа по возрастанию значений, а затем нечетные по убыванию.
#include "stdafx.h" #include <iostream> using namespace std; int main() { int size, x; int j = 0; cout <<"Razmer massiva: "; cin >> size; int* array1 = new int[size]; cout << "Vvedite elementi massiva "; for ( int i = 0; i < size; i++ ) { cin >> array1[i]; } // Sozdaem noviy massiv int* array2 = new int[size]; // Zapolnyaem noviy massiv chetnimi chislami for ( int i = 0; i < size; i++ ) { if ( array1[i]%2 == 0 ) { array2[j] = array1[i]; j+=1; } if ( i = ( size - 1 ) ) { for ( int k = 0; k < j; k++ ) { for ( int m = (k + 1); m < j; m++ ) { if ( array2[k] > array2[m] ) { x = array2[k]; array2[k] = array2[m]; array2[m] = x; } } } } int a = j; int b = j; } // Yporyadochivaem nechetnie chisla for ( int i = a; i < size; i++ ) { if ( array1[i]%2 != 0 ) { array2[a] = array1[i]; a++; } if ( i = ( size - 1 ) ) { for ( int k = b; k < size; k++) { for ( int d = ( k + 1 ); d < size; d++ ) { if ( array2[k] < array2[d] ) { int c = array2[k]; array2[k] = array2[d]; array2[d] = c; } } } } } system ("pause"); return 0; } Вот мой код программы, непонятно как сохранить номер последнего члена упорядоченного массива четных чисел,чтобы от этого номера уже начинать потом отсчет множества нечетных чисел, тут я это значение сохранил под именем a и b, но по выходус оператора for значения уничтожаются, может с помощью оператора static можно что-то сделать? и вообще правильно ли я делаю саму программу, т.к. она у меня получилась сильно сложной, я думаю есть какие-то варианты по-проще... |
Последний раз редактировалось Drongo, 21-02-2011 в 01:23. Причина: Оформляйте тегом код иначе темы буду перемечать в раздел тест-зона!!! Отправлено: 15:25, 06-02-2011 | #191 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Добрый Вечер У меня такой вопрос....
Допустим есть Файл , Я хочу полностью заменить строку в нем (номер строки я знаю) как можно это сделать без лишнего кода(то беш компактно) в visual c++ Так как не писал проги для файловой системы не знаю что делать помогите пожалуйста)) Заранее говорю нужно сделать строку ввида SetSave net_name (переменная типа string хотя можно и char) номер строки кстати 300 Буду очень признателен))) |
Отправлено: 18:53, 20-02-2011 | #192 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:57, 25-02-2011 | #193 |
Старожил Сообщения: 154
|
Профиль | Отправить PM | Цитировать andrei88 - у тебя \x11 это ascii код символа, а когда ты с клавы вводишь \x11 ты вводишь не один - а целых 4-е символа каждый который имеет аски код. Просто в си придумали такую фишку - \ - чтобы можно было определить - это ты хочешь какойто служебный символ ввести или просто символ с клавы. А вообще - жмешь alt + dec-код символа и вуаля. Пуск-программы-служебные-таблица символов поможет тоже
|
Отправлено: 20:21, 25-02-2011 | #194 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Beyound
Как тогда сделать, что б вводишь \x11 преобразовался в один символ? |
Отправлено: 20:37, 25-02-2011 | #195 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Привет всем а можете объяснить алгоритм сортировки пузырьковым методом.В моей задаче надо разсортировать список людей по фамилиям по алфавиту.
|
Отправлено: 21:25, 02-03-2011 | #196 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Цитата DennyD:
Цитата DennyD:
И на этот вопрос отвечать вам! Мы в лучшем случае поможем с деталями задачи, когда будет задан конкретный вопрос. |
||
------- Отправлено: 21:48, 02-03-2011 | #197 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать DennyD, Пузырьком
|
------- Отправлено: 13:14, 03-03-2011 | #198 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать хм можете прислать код или объяснить...у меня в задаче надо создать таблицу из имени фамилии отчества года рождения людей,заполнить ее и потом разсортировать людей по фамилиям в алфавитном порядке,я создал класс и массив объектов этого класса в простом заполнении проблем нет а вот как сортировать не пойму,можете написать функцию?
|
Отправлено: 01:40, 04-03-2011 | #199 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать DennyD
Например можно сделать так: class Man //ваш класс { char firstname[MAX_LENGTH] ... bool operator > (Man& data) { return (this->firstname[0]>data.firstname[0]); }; } Man M[LENGTH] for(int i=0; i < LENGTH-1; i++) for(int j=i+1; j<LENGTH; j++) if(M[i]>M[j}) { Man temp=M[i]; M[i]=M[j]; M[j]=temp; } |
------- Отправлено: 10:00, 05-03-2011 | #200 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Помогите решить задачу | Urann | Программирование и базы данных | 11 | 14-05-2013 11:44 | |
Разное - Помогите решить задачу в Excel | Dgonny | Программирование и базы данных | 2 | 16-11-2009 04:11 | |
C/C++ - Помогите решить задачу | zdughi | Программирование и базы данных | 1 | 01-05-2009 06:03 | |
помогите решить задачу | snikers | Программирование и базы данных | 2 | 27-08-2004 01:57 | |
помогите решить задачу | Guest | Программирование и базы данных | 2 | 21-05-2004 11:23 |
|