HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.01.2009, 22:09
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию

Цитата:
Сообщение от eiti  
можешь объяснить? что это std::iter_swap( i, i + 1 ); и это ( *(i + 1) < *i )
Код:
#include <algorithm>
 template< typename Iterator > 
void bubble_sort( Iterator First, Iterator Last )
 {     
while( First < --Last )     
    for( Iterator i = First; i < Last; ++i )     
        if ( *(i + 1) < *i )              
   std::iter_swap( i, i + 1 );
 }
ето С++, тут
смотри та которая на С, сча набросаю твою задачку))
 
Ответить с цитированием

  #2  
Старый 14.01.2009, 17:07
Cereus
Новичок
Регистрация: 09.11.2008
Сообщений: 15
Провел на форуме:
59870

Репутация: 16
По умолчанию

Цитата:
Сообщение от eiti  
составьте код на с++ . дан линейный массив, надо выстроить элементы по возрастанию
у меня уже каша . алгортм то хоть правильно набросал?
Выглядит примерно так:

Код:
# include <iostream>
# include <cstdio>

using namespace std;

int main(){
    cout << "Введите размерность массива\n";
    int n=0; //переменная хранящая размерность массива
    cin >> n; 
    int array[n];
        for (int i=0;i<n;i++){ //начали заполнять массив
        cout << "Введите значение элемента №" <<i <<endl;
        cin >> array[i];
        } //заполнение массива закончено
    
    int temp; //переменная для временного хранения значений
        for (int i=0; i<n; i++){ //здесь массивы сортируются
            for (int j=1; j<n-i; j++){
                if (array[j-1]>array[j]) {temp=array[j-1];
                                         array[j-1]=array[j];
                                         array[j]=temp;};
            }
        }   //закончили сортровать массив
    //вывод отсортированного массива
    for (int i=0;i<n;i++){
        cout << "Элемент массива №";
        cout<< i << " = " << array[i]<<endl;
    }
    system ("pause");
    return 0;
}
 
Ответить с цитированием

  #3  
Старый 13.01.2009, 21:29
Fl0dER
Познающий
Регистрация: 22.12.2008
Сообщений: 82
Провел на форуме:
107509

Репутация: 6
По умолчанию

Здравствуйте господа Ачатовцы , у меня возникла такая проблема .
Перехожу с Delphi на C++ , юзаю Borland C++ иногда Dev C++.
Я хочу вывести в messagebox текст и переменую , в таком случии я бы написал на Delphi так
Showmessage('Text'+peremenia+'text') как мне оргонизвать это в BC++ ?

и еще

также я хочу зделать вроде такого Showmessage('TEXT'+#$0D,#$0A);
в BC++ пробывал MessageBox(NULL,"text"char*(0x0D,0x0A), "Example",MB_OK | MB_ICONEXCLAMATION);
не получилось =(

Помогите решить пробему =)

Зарание Спосибо !!!

Последний раз редактировалось Fl0dER; 13.01.2009 в 21:40..
 
Ответить с цитированием

  #4  
Старый 13.01.2009, 21:56
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

Репутация: 93
По умолчанию

Цитата:
Сообщение от Fl0dER  
Здравствуйте господа Ачатовцы , у меня возникла такая проблема .
Перехожу с Delphi на C++ , юзаю Borland C++ иногда Dev C++.
Я хочу вывести в messagebox текст и переменую , в таком случии я бы написал на Delphi так
Showmessage('Text'+peremenia+'text') как мне оргонизвать это в BC++ ?

и еще

также я хочу зделать вроде такого Showmessage('TEXT'+#$0D,#$0A);
в BC++ пробывал MessageBox(NULL,"text"char*(0x0D,0x0A), "Example",MB_OK | MB_ICONEXCLAMATION);
не получилось =(

Помогите решить пробему =)

Зарание Спосибо !!!
MessageBox(0,_T("ЕТО ДОЛЖНО РАБОТАТЬ!!! НАПИШИ ЧТО ПИШЕТ КОМПИЛЯТОР!!"),0,MB_OK);
 
Ответить с цитированием

  #5  
Старый 13.01.2009, 22:15
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Fl0dER

Форматируй вывод в буфер с помощью ws_printf:

TCHAR szSomeBuffer[1024] = {0};
INT nSomeVar = 10;
wsprintf(szSomeBuffer, "Значение переменной = %d\r\n.", nSomeVar);
MessageBox(NULL, szSomeBuffer, "Example", MB_OK | MB_ICONEXCLAMATION);
 
Ответить с цитированием

  #6  
Старый 14.01.2009, 16:34
Fl0dER
Познающий
Регистрация: 22.12.2008
Сообщений: 82
Провел на форуме:
107509

Репутация: 6
По умолчанию

Цитата:
Сообщение от groundhog  
Fl0dER

Форматируй вывод в буфер с помощью ws_printf:

TCHAR szSomeBuffer[1024] = {0};
INT nSomeVar = 10;
wsprintf(szSomeBuffer, "Значение переменной = %d\r\n.", nSomeVar);
MessageBox(NULL, szSomeBuffer, "Example", MB_OK | MB_ICONEXCLAMATION);
А как заюзать переменую с текстом а не именно Integer ?
 
Ответить с цитированием

  #7  
Старый 14.01.2009, 17:51
oneofnamers
Новичок
Регистрация: 10.01.2009
Сообщений: 3
Провел на форуме:
21694

Репутация: 1
По умолчанию

в разделе сортировки будет правильнее так:
for(int i =0; i<n; i++)
for(int j=i; j<n; j++)
if(array[i]<array[j])
{
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
что-то вроде этого. если сортировка не в ту сторону, поменяй < на >
 
Ответить с цитированием

  #8  
Старый 14.01.2009, 19:26
Cereus
Новичок
Регистрация: 09.11.2008
Сообщений: 15
Провел на форуме:
59870

Репутация: 16
По умолчанию

Цитата:
Сообщение от oneofnamers  
в разделе сортировки будет правильнее так:
for(int i =0; i<n; i++)
for(int j=i; j<n; j++)
if(array[i]<array[j])
{
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}

что-то вроде этого. если сортировка не в ту сторону, поменяй < на >

Оно вроде бы и хорошо, но при моем варианте сортировка идет быстрее, так как выполняется меньше внутренних циклов. Это буде видно если ввести дополнительные переменные показывающие сколько и каких циклов было выполнено. Вот мой вариант
Код:
        for (int i=0, Kolco=0; i<n; i++,Kolco++){
            for (int j=1, Kolco2=0; j<n-i; j++,Kolco2++){
                if (array[j-1]>array[j]) {temp=array[j-1];
                                         array[j-1]=array[j];
                                         array[j]=temp;};
                                         cout<< "!!!!!!!!! Kolco2=" <<Kolco2<<endl;
            }
            cout <<"!!!!!! Kolco ="<< Kolco<<endl;
        }
и твой (если отредактировать):
Код:
for(int i =0, Kolco=0; i<n; i++,Kolco++){
 for(int j=i, Kolco2=0; j<n; j++,Kolco2++){
   if(array[i]<array[j])
  { 
    int tmp = array[i];
    array[i] = array[j];
   array[j] = tmp;
  };
cout <<"!!!!!! Kolco2 ="<< Kolco2<<endl;
}
 cout<< "!!!!!!!!! Kolco=" <<Kolco<<endl;
}
И что бы не было сомнений проверять рекомендую на одинаковых входных данных
 
Ответить с цитированием

  #9  
Старый 14.01.2009, 19:56
iffan
Новичок
Регистрация: 07.01.2009
Сообщений: 10
Провел на форуме:
22534

Репутация: 7
По умолчанию

привет. вообщем я новичок в С++, компилирую когда в Code:Bloks 8 а когда не получаетца что нибудь здесь, тогда перехожу на Visual 2008 Pro, да.... такое бывает.
Вообщем учусь по книге, дошол до создания классов в отдельных файлах Headers files, с расширением .h, hpp, так вот создаю значит отдельно файл .cpp и отдельно класс в headers files, даю одинаковые имена и классу, и имени файла, сохраняю, в .cpp файле с помощью #include в вставляю <имя_файла.h>, делаю как в книге написано. И всеравно в обоих компилятарах при компиляции выдает сообщение что ненайден файл или папка с имя_файл.h и процесс тормозится. не пойму по какому пути нада сохранять созданный файл с расширением .h, что бы компилятор его видел. вродебы находица все в одной папке с .cpp файлом и нифига не пашет. Вкниге ответы не нашел.
 
Ответить с цитированием

  #10  
Старый 14.01.2009, 20:09
brasco2k
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме:
1215706

Репутация: 310
По умолчанию

Цитата:
Сообщение от iffan  
привет. вообщем я новичок в С++, компилирую когда в Code:Bloks 8 а когда не получаетца что нибудь здесь, тогда перехожу на Visual 2008 Pro, да.... такое бывает.
Вообщем учусь по книге, дошол до создания классов в отдельных файлах Headers files, с расширением .h, hpp, так вот создаю значит отдельно файл .cpp и отдельно класс в headers files, даю одинаковые имена и классу, и имени файла, сохраняю, в .cpp файле с помощью #include в вставляю <имя_файла.h>, делаю как в книге написано. И всеравно в обоих компилятарах при компиляции выдает сообщение что ненайден файл или папка с имя_файл.h и процесс тормозится. не пойму по какому пути нада сохранять созданный файл с расширением .h, что бы компилятор его видел. вродебы находица все в одной папке с .cpp файлом и нифига не пашет. Вкниге ответы не нашел.
<> для стандартных файлов инклудов, "" для локальных файлов
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ