| 
				
				Набор готовых программ
				 |   |  | 
				 |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 09:21 | Сообщение # 2 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ФУНКЦИЯ ПЕРЕВОДА ЧИСЕЛ   Напишите функцию перевода р-ричного числа в десятичное.   Code #include<conio.h>   #include<stdio.h> 
   int ch[] = {2,5,4};   int sys = 16;   int n = sizeof(ch)/sizeof(int);   int i, j, rez = 0, sys_temp; 
   void main()   {   clrscr();   sys_temp = 1;   j = 0;   for (i=n-1;i>=0;i--)   {   if (j>0)   sys_temp *= sys;   rez += ch[i] * sys_temp;   j++;   }   printf("\n%d",rez);   getch();   } 
   _____ 
   Напишите функцию перевода 10-тичного числа в р-ричное 
   #include<stdio.h>   #include<conio.h>   #include<string.h>   #define TOP© (c<10?c+'0':c-10+'A') 
   void reverse(char*s)   {   reverse(s);   printf("%s",s);   } 
   void main()   {   clrscr();   unsigned long chislo;   unsigned sys;   int i;   char s[50];   printf("Enter count:");   scanf("%lu",&chislo);   printf("Enter system:");   scanf("%u",&sys); 
   if(sys!=0)   {   for (i=0;chislo>0;chislo/=sys)   s[i++]=TOP(chislo%sys);   s[i]='\0';   for (i=strlen(s)-1;i>=0;i--)   printf("%c",s[i]);   printf("\n");   }   getch();   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 09:24 | Сообщение # 3 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И ФУНКЦИИ РАЗЛИЧНОЙ СЛОЖНОСТИ   Напишите функцию сложения двух простых дробей a/b и c/d. В результате должна получаться правильная несократимая дробь или смешанное число.    Code # include <stdio.h> 
   const a=3,b=5,c=7,d=13;   int ch,zn,cel; 
   void sokr(int &x,int &y)   { int max=(x<y)?y:x;   for (int i=2;i<=max;i++)   if ((x%i==0)&(y%i==0))   {   x/=i;   y/=i;   max=(x<y)?y:x;   i=2;   }   } 
   void main()   {   if (b==d) {ch=a+c; zn=b;}   else {ch=a*d+b*c; zn=b*d;}   cel=ch/zn;   ch-=cel*zn;   sokr(ch,zn);   printf("\n%d %d/%d",cel,ch,zn);   }     _____   Напишите функцию разложения натурального числа на простые множители   Code # include <stdio.h> 
   void main()   {   const N=15120;   long int n=N;   int mas[10];   int kol=0;   for (int i=2;i<=n;)   {   if ((n%i)==0)   {   mas[kol]=i;   kol++;   while ((n%i)==0) n/=i;   }   else i++;   } 
   }     _____   Напишите функцию поиска количества максимальных элементов в массиве   Code # include <stdio.h>   # include <stdlib.h> 
   const n=10;   int mas[n];   int max,kol; 
   int poisk(int a[])   { int k=1;   max=a[0];   for (int i=0;i<n;i++)   if (a[i]>max) { max=a[i]; k=1;}   else if (a[i]==max) k++;   return k;   } 
   void main()   {   randomize();   for (int i=0;i<n;i++)   mas[i]=5+random(10);   kol=poisk(mas);   }     _____   Найти все простые числа из интервала 2..N ( N<=80000).   Code #include<stdio.h>   #include<conio.h> 
   char mask[] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; 
   void main()   {   clrscr();   const long MAX=80000;   char newMAX[MAX/8]; 
   for(long i=0;i<MAX/8;i++)   newMAX[i]=0xFF; 
   for(i=2;i<=MAX/2;i++)   if(newMAX[i/8] & mask[i%8])   {   long d=2*i;   for(;d<MAX;d+=i)   newMAX[d/8] &= ~mask[d%8];   }   for(i=2;i<MAX;i++)   {   if(newMAX[i/8] & mask[i%8])   {   printf("%8lu",i);   if (wherey() == 25)   {   getch();   clrscr();   }   }   }   getch();   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 09:49 | Сообщение # 4 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ФУНКЦИЯ НАХОЖДЕНИЯ КОЛИЧЕСТВА МАКСИМАЛЬНЫХ ЭЛ. В МАССИВЕ    Code # include <stdio.h>   # include <stdlib.h> 
   const n=10;   int mas[n];   int max,kol; 
   int poisk(int a[])   { int k=1;   max=a[0];   for (int i=0;i<n;i++)   if (a[i]>max) { max=a[i]; k=1;}   else if (a[i]==max) k++;   return k;   } 
   void main()   {   randomize();   for (int i=0;i<n;i++)   mas[i]=5+random(10);   kol=poisk(mas);   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 09:51 | Сообщение # 5 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ВЫЧИСЛЕНИЕ ЧИСЕЛ ФИБОНАЧЧИ   Предложите два варианта функции вычисления суммы первых n чисел Фибоначчи.    Code # include <stdio.h> 
   int fib(int x)   {   if ((x==1)|(x==2)) return 1;   else return (fib(x-1)+fib(x-2));   }   void main()   { int sum=0;   const n=7;   for (int i=1;i<=n;i++)   sum+=fib(i);   printf("%d",sum);   }        _____  Предложите два варианта функции вычисления n- го числа фибоначчи    Code # include <stdio.h> 
   int fib(int x)   {   if ((x==1)|(x==2)) return 1;   else return (fib(x-1)+fib(x-2));   } 
   void main()   { const n=20;   printf("\n%d",fib(n));   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:08 | Сообщение # 6 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | СОЗДАНИЕ ОТСОРТИРОВАННОГО МАССИВА ИЗ ДВУХ НЕ ОТСОРТИРОВАНЫХ   Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по возрастанию массив С.    Code # include <stdio.h>   # include <stdlib.h> 
   const N=10,M=10;   int a[N],b[M],c[N+M]; 
   void main()   {   randomize();   a[0]=-20;   b[0]= 20;   for (int i=1;i<N;i++)   a[i]=a[i-1]+random(10);   for (i=1;i<M;i++)   b[i]=b[i-1]-random(10);   int x=0,y=M-1;   i=0;   while (!c[N+M-1])   {   if (((a[x]>=b[y])|(x>N-1))&(y<=M-1))   {   c[i]=b[y];   i++;   y--;   }   else if (((a[x]<=b[y])|(y<0))&(x>=0))   {   c[i]=a[x];   i++;   x++;   }   }   }        _____  Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по убыванию массив С, не содержащий одинаковых элементов.    Code # include <stdio.h>   # include <stdlib.h> 
   const N=10,M=10;   int a[N],b[M],c[N+M]; 
   void main()   {   randomize();   a[0]=-5;   b[0]= 5;   for (int i=1;i<N;i++)   a[i]=a[i-1]+random(3);   for (i=1;i<M;i++)   b[i]=b[i-1]-random(3);   int x=N-1,y=0;   i=0;   while ((x>=0)|(y<M))   {   if (((a[x]>=b[y])|(y>M-1))&(x>=0))   {   if (c[i-1]!=a[x]) { c[i]=a[x]; i++;}   x--;   }    _____   Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать программу для слияния этих массивов в отсортированный по неубыванию массив С.    Code # include <stdio.h>   # include <stdlib.h> 
   const N=10,M=10;   int a[N],b[M],c[N+M]; 
   void main()   {   randomize();   a[0]=-5;   b[0]=-5;   for (int i=1;i<N;i++)   {   a[i]=a[i-1]-random(3);   b[i]=b[i-1]-random(3);   } 
   int x=M-1,y=N-1;   i=0;   while ((x>=0)|(y>=0))   {   if (((a[x]<=b[y])|(y<0))&(x>=0))   {   c[i]=a[x];   i++;   x--;   }   else if (((a[x]>=b[y])|(x<0))&(y>=0))   {   c[i]=b[y];   i++;   y--;   }   }   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:09 | Сообщение # 7 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ПРОГРАММА ДЛЯ ОТКРЫТИЯ ТЕКСТОВЫХ ФАЙЛОВ В С++   Прога выводит содержимое из выбранного txt файла (вроде ничего не напутал)    Code #include<stdio.h>   #include<string.h> 
   main()   {   FILE*f= fopen("t.txt","r"); \\ процедура открывающая файл с именем t.txt, r означает чтение (изменять не будем)   char s[100]; \\ выделяем в процедуре строку в 100 символов   int k=0;   while (!feof (f)){ \\ гм. проверяем, в какой строке количество символов не равно 0, (длинна строки не 0),   fgets(s,100,f);   if (strlen(s)==0) {\\ если 0 то к следущей   k++;}   ;   }   fclose(f); \\ закрываем файл   printf("k=%i", k); \\ выводим строку с символами из файла   printf("\n");   return 0;   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:25 | Сообщение # 8 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ (ИЗ ИДЗ)   Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач до Хкон с шагом dX.   F = ax2 + b +c при a < 0 и с № 0   F = -a/(x-c) при a > 0 и c = 0   F = a(x+c) во всех остальных случаях,   где a, b и c – действительные числа.   Значения a, b, c, Хнач, Хкон, dX – ввести с клавиатуры.   Прога -    Code #include <conio.h>   #include <iostream.h>   void main ()   {   float a,b,c;   float Xs, Xe,dx;   float F;   cout<<"a= ";   cin>>a;   cout<<"b= ";   cin>>b;   cout<<"c= ";   cin>>c;   cout<<endl;   cout<<"Xs= ";   cin>>Xs;   cout<<"Xe= ";   cin>>Xe;   cout<<"dx= ";   cin>>dx;   cout<<endl;   if (Xs<=Xe&&dx!=0)   {   for(float x=Xs; x<=Xs; x+=dx)   {   if (a<0&&c!=0)   {   F=a*(x*x)+b+c;   cout<<"x= "<<x<<"F= "<<F<<endl;   }   else   {   if (a>0&&c==0)   {   F=-a/(x+c);   cout<<"x= "<<x<<"F= "<<F<<endl;   }   else   {   F=a*(x+c);   cout<<"x= "<<x<<"F= "<<F<<endl;   }   }   }   getch ();   }   }    Вычислить и вывести на экран в виде   таблицы значения функции F на интервале   от Хнач до Хкон с шагом dX.   F = ax2 + b2x при a < 0 и x != 0   F = x – a/(x - c) при a > 0 и x = 0   F = 1 + x/c во всех остальных случаях,   где a, b и c – действительные числа.   Значения a, b, c, Хнач, Хкон, dX – ввести с клавиатуры.*/    Code #include <iostream.h>   #include <conio.h> 
   void main()   {   clrscr();   float a,b,c,x,xH,xk,dx,F; 
   cout << "BBeDuTe 3Ha4eHu9l nepeMeHHbIx: a b c xH xk dx\n";   cin>>a>>b>>c>>xH>>xk>>dx;   cout<<"\n";   cout<<"x\t";   cout<<"F\n"; 
   for (x = xH ; x <= xk ; x += dx)   {   cout << x;   cout << "\t"; 
   if(a < 0 && x != 0)   {   F = a * x * 2 + b * 2 * x;   cout << F;   cout << "\n";   }   else if(a > 0 && x == 0)   {   if ((x - c) == 0)   {   cout << "XXX - Ha HyJlb DeJluTb HeJlb39|";   cout << "\n";   }   else   {   F = x - a / (x - c);   cout << F;   cout << "\n";   }   }   else   {   if (c == 0)   {   cout << "XXX - Ha HyJlb DeJluTb HeJlb39|";   cout << "\n";   }   else   {   F = 1 + x / c;   cout << F;   cout << "\n";   }   }   }   getch();   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:26 | Сообщение # 9 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | СОРТИРОВКА "ПУЗЫРЬКОМ"    Code #include <conio.h>   #include <iostream.h>   #include <iomanip.h>   const int n=10, k=15;   void input (float w[ ], int p, int z)   {cout<<"/n vvedite" <<p<< "element /n";   for (int i=0; i<p; i++)   cin>>w[i];   if (w[i]>w[i+1])   {z=w[i];w[i]=w[i+1];w[i+1]=z;}   }   void output (float w[], int p, char title[])   {cout<<title;   for (int i=0; i<p; i++)   cout<<w[i]<<" ";   cout<<endl;   }   getch ();  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:27 | Сообщение # 10 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ОДНОМЕРНЫЙ МАССИВ (ИЗ ИДЗ)   Задание - В одномерном массиве, состоящем из N вещественных элементов, вычислить:   произведение элементов массива с четными номерами;   сумму элементов массива, расположенных между первым и последним нулевыми элементами.   Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом – все отрицательные (элементы, равные нулю, считать положительными).   Прога -    Code #include <conio.h>   #include <iostream.h>   #include <iomanip.h>   const int n=10, k=15;   void input (float w[ ], int p, int zfloat, proizv = 0)   {   {cout<<"/n vvedite" <<p<< "element /n";   for (int i=0; i<p; i++)   cin>>w[i];   if (w[i]>w[i+1])   {z=w[i];w[i]=w[i+1];w[i+1]=z;}   }   for (i=0; i<p; i++)   {   if (a[i]%2==0)   {   if (proizv==0){proizv = 1;   }   proizv*=a[i];   }   }   if (proizv!=0)   {   cout<<"Proizvedenie chetnih chisel: "<<proizv<<endl;   }   else   cout<<"Chetnih chisel net!"<<endl;   for (int i=0; i<p; i++)   for(i=0; i<m; i++)   {int summ=0;   if (a[i]==0)   summ++;   if (summ==0){summ = 1;   summ+=a[i];   }   if (summ!=0)   {   cout<<"Summa pervih i poslednih с 0: "<<proizv<<endl;   }   else   cout<<"Net nulevih elementov!"<<endl;   void output (float w[], int p, char title[])   {cout<<title;   for (int i=0; i<p; i++)   cout<<w[i]<<" ";   cout<<endl;   }   getch ();  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:29 | Сообщение # 11 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | МАТРИЦА ОБЫКНОВЕННАЯ (C ВЫВОДОМ НОМЕРОВ СТРОК С МАХ ЭЛЕМЕНТОМ)      Code #include <iostream.h>   #include <conio.h>   #include <iomanip.h>   const int n=5, m=6;   void input(float w[n][m])   {   cout<<"vv"<<n<<" stroka po "<<m<<" yl\n";   int i,j;   for (i=0; i<n; i++)   for (int j=0; j<m; j++)   cin>>w[i][j];   } 
   void output (float w[n][m],char title[])   {   cout<<title;   int i,j;   for (i=0; i<n; i++)   {   for (j=0; j<m; j++)   cout<<setw(4)<<w[i][j];   cout<<endl;   }}   void make (float w[n][m])   {   int i,j,Nmax;   float max;   for(i=0; i<n; i++)   {   max=-1e+38;   for(j=0; j<m; j++)   if(w[i][j]>max)   {   max=w[i][j];   Nmax=j;   }   cout<<"\n Stroka N"<<i<<" max="<<max<<" Nmax="<<Nmax<<endl;   }   }   void main()   {  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:30 | Сообщение # 12 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | СОРТИРОВКА ОДНОМЕРНОГО МАССИВА    Code #include <iostream.h>   #include <conio.h>   const int n=10;   void input(float w[], int p);   void output(float w[], int p,char title[]);   void sort(float w[], int p); 
   void main()   {   float A[10];   clrscr();   input (A,n);   output (A,n,"ishodnii massiv A \n");   sort(A,n);   output (A,n,"Izmenennii massiv A \n");   getch ();   }   void input(float w[],int p)   {   cout<<"VV massiv\n";   for (int i=0;i<p; i++)   cin>>w[i];   } 
   void output(float w[],int p,char title[])   {   cout<<"\n\n"<<title;   for (int i=0;i<p; i++)   cout<<w[i]<<" ";   cout<<endl;   } 
   void sort(float w[], int p)   {   int i, j, Nmin;   float Z;   for(i=0; i<p-1; i++)   {   Nmin=i;   for(j=i+1; j<p; j++)   if(w[j]<w[Nmin]) Nmin=j; 
   Z=w[i]; w[i]=w[Nmin]; w[Nmin]=Z;   } 
   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:31 | Сообщение # 13 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ДЕМОНИЧЕСКАЯ МАТРИЦА С СОРТИРОВКОЙ    Code #include<iostream.h>   #include<conio.h> 
   float* input (int p)   {float* w = new float [p];   cout<<"\n vv "<<p<<" el\n";   for (int i=0; i<p; i++)   cin>>w[i];   return w;   }   void output (float* w, int p,char title[])   {   cout<<title;   for (int i=0; i<p; i++)   cout<<" "<<w[i];   }   void sort(float w[], int p)   {   int i, j, Nmin;   float Z;   for(i=0; i<p-1; i++)   {   Nmin=i;   for(j=i+1; j<p; j++)   if(w[j]<w[Nmin]) Nmin=j; 
   Z=w[i]; w[i]=w[Nmin]; w[Nmin]=Z;;}}   void main ()   {int n,m;   clrscr ();   cout<<"\n vv n,m\n";   cin>>n>>m;   float * A=input (n);   float * B=input (m);   sort (A,n);   sort (B,m);   output (A,n, "\n Izm. A \n");   output (B,m, "\n IZM. B \m");   getch ();   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Среда, 22.04.2009, 10:33 | Сообщение # 14 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | ДЕМОНИЧЕСКАЯ МАТРИЦА (КЛАССИЧЕСКАЯ ОТ ВИНОГРАДОВОЙ)      Code #include<iostream.h>   #include<conio.h> 
   float* input (int p)   {float* w = new float [p];   cout<<"\n vv "<<p<<" el\n";   for (int i=0; i<p; i++)   cin>>w[i];   return w;   }   void output (float* w, int p,char title[])   {   cout<<title;   for (int i=0; i<p; i++)   cout<<" "<<w[i];   }   void perevorot (float* w, int p)   {float z;   for (int i=0; i<p/2; i++)   {z=w[i]; w[i]=w[p-i-1];   w[p-i-1]=z;}}   void main ()   {int n,m;   cout<<"\n vv n,m\n";   cin>>n>>m;   float * A=input (n);   float * B=input (m);   perevorot (A,n);   perevorot (B,m);   output (A,n, "\n Izm. A \n");   output (B,m, "\n IZM. B \m");   getch ();   }  
					
					
					 |  
					|   | 
					 |  
				  |  
				
					| WolfClan | Дата: Понедельник, 22.03.2010, 11:56 | Сообщение # 15 |  
					| 
					
					
					 Группа: Удаленные 
					
					
					
					
					
					
					
 
 
 
  
					 | БАЗОВАЯ ПРОГРАММА ПОСТРОЕНИЯ ДЕРЕВА    Code #include <iostream.h>   #include <conio.h> 
   struct node {   int key;   node *left, *right;   }   node * buildTree (int n) [color=gray][i]// строим дерево, задаем значения корня и узлов[/i][/color]   {if(n==0) return 0;   else   {node *t=new node;   cout<<"\n Vvedite ocherednoe chislo \n";   cin>>t->key;   int nl=n\2, nr=n-1-nl;   t->left=buildTree(nl);   t->right=buildTree(nr);   return t;   }   }   void Output (node *t, int k) [color=gray][i]// печатаем дерево на экран[/i][/color]   {if (t!=0)   {output (t->right, k+7) [color=gray][i]// k+7 - вместо 7, можно задать любое значение, это расстояние между узлами на экране.[/i][/color]   for(int i=0; i<k; i++)   cout<<' ';   cout<<t->key<<"\n\n";   output(t->left; k+7);   }   }   void main ()   {int n;   cout<<"\n Vvedite n \n";   cin>>n;   node*T=buildTree (n);   cout<<"\n Ishodnoe derevo \n";   Output (T,0);   getch ();   }  
					
					
					 |  
					|   | 
					 |  
				  |     
		
		  
 |