Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

lpforever



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#include <iostream>
#include <fstream>
 
using namespace std;
 
float a[21];
int i;
void gen();
void sp();
void sv();
int main() {
int n;
//    system("clear");
 
    while (1) {
        cout<<"\n\nSelect menu item:\n\n1: Sgenerit' chisla\n2: Sortirovka po ubivaniyu puzyrkom\n3: Sortirovka po vozrostaniyu viborom\n4: Exit\n\n";
        cin>>n;
        switch (n){
            case 1:{
                gen();
                break;
            }
            case 2: {
                sp();
                break;
            }
            case 3: {
                sv();
                break;
            }    
            case 4: {
                 cout<<"\ngood bUy\n";
                 exit(0);            
            }
            default : {
                    cout<<"\nError! Try again...\n";
                    break;
            }
        }
    }  
 
   
  system("PAUSE");    
  return 0;
}
 
void gen() {
   
   srand(time(NULL));
   ofstream file ("binarydata", ios::out|ios::binary|ios::ate);
   if (file.is_open()) {
 
      for(i=0;i<=20;i++) {
         a[i]=rand()/((float)RAND_MAX)*(130-30)+30;      
         file.write((char*)&a[i],sizeof((char*)&a[i]));
         cout<<"a["<<i+1<<"]="<<a[i]<<"\n";  
      }
       
      file.close();
 
      cout << "the complete file content is in memory";      
   }
 
   
   return;
}
 
void sp() {
   int s,j,k;
   float max,t;
   if (i==0)
      printf("\nSgener'te chisla!\n");
   else {
     printf("\nBefore:\n");
     for(s=0;s<=20;s++)
        printf("a[%2d]=%5.2f\n",s+1,a[s]);
     
     for(s=0;s<=20;s++) {
        max=a[s];
        k=s;
        for(j=s;j<=20;j++)
           if(max<a[j]) {
              max=a[j];
              k=j;
           }
        t=a[s];
        a[s]=a[k];
        a[k]=t;
     }
     printf("\nAfter:\n");
     for(s=0;s<=20;s++)
        printf("a[%2d]=%5.2f\n",s+1,a[s]);
   }
   return;
}
 
void sv() {
   int j,k;
   float t;
   if (i==0)
      printf("\nSgener'te chisla!\n");
   else {  
     printf("\nBefore:\n");
     for(j=0;j<=20;j++)
        printf("a[%2d]=%5.2f\n",j+1,a[j]);
     for(j=0;j<20;j++)
        for(k=0;k<20;k++)
           if(a[k]<a[k+1]) {
              t=a[k];
              a[k]=a[k+1];
              a[k+1]=t;
               
           }
     printf("\nAfter:\n");
     for(j=0;j<=20;j++)
        printf("a[%2d]=%5.2f\n",j+1,a[j]);
   }  
   return;
}

Всего записей: 154 | Зарегистр. 14-12-2005 | Отправлено: 13:18 03-12-2006 | Исправлено: lpforever, 13:29 03-12-2006
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru