Категории: ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника |
Где цифры жирные там менять по ситуации#include<stdio.h> #include<conio.h> #include<malloc.h>
void GetStr(char*str,int size) { int i; char c; for(i=0;size>0&&(c=getche())!=13;size--,i++) { str[i]=c; } str[i]='\0'; } void Revers(char *str,int l, int r) {
while(l<r) { int temp=str[l]; str[l]=str[r]; str[r]=temp; l++; r--; } } void GetPositions(char* str,int *l1,int *l2,int *r1,int *r2) { int counter1=0,counter2=0; while(str[*l1]!='\0'&&counter1<1) { if(*r1>0) *l1=(*r1)+1; while(str[*l1]==32) (*l1)++; if(str[*l1]!='\0') counter1++; *r1=*l1; while(str[(*r1)+1]!=32 && str[(*r1)+1]!='\0') (*r1)++; } while(str[*l2]!='\0'&&counter2<2) { *l2=(*r2)+1; while(str[*l2]==32) (*l2)++; if(str[*l2]!='\0') counter2++; *r2=*l2; while(str[(*r2)+1]!=32 && str[(*r2)+1]!='\0') (*r2)++; } } void Change(char*str,int count1,int count2) { int i=0,j=0,k=0,l=0; GetPositions( str,&i,&k,&j,&l); Revers(str,i,l); i=0;j=0;k=0;l=0; GetPositions( str,&i,&k,&j,&l); Revers(str,i,j); Revers(str,k,l); if(count2-count1>=2) Revers(str,j+1,k-1);
}
int main() { char *string; int size; printf("Enter how many symbols do you want: "); scanf("%d",&size); string=(char*)malloc(size*sizeof(char)); printf("Enter string: "); GetStr(string,size); Change(string,1,2); printf("\n%s",string); free(string); getch(); return 0; }
Из 10-ой СС в любую #include<stdio.h> #include<conio.h> int ss; char ms[200]; char znak='+'; int main() { int t,i,num1,k1=10,k2=11; double num; printf("Enter number: "); scanf("%lf",&num); printf("Enter accarsity: "); scanf("%d",&t); printf("Enter cc: "); scanf("%d",&ss); num<0?znak='-',num*=-1:num; num1=num; num-=num1; while(num1>=ss) { i=num1%ss; num1/=ss; ms[k1--]=i>9?i-10+'A':i+'0'; } ms[k1--]=num1>9?num1-10+'A':num1+'0'; ms[k1]=znak; ms[k2++]='.'; while(num!=0&&k2-11<=t) { num*=ss; i=num*ss; num-=i; ms[k2++]=i>9?i-10+'A':i+'0'; } for(i=k1;i<k2;i++) printf("%c",ms[i]); getch(); return 0; }
Минимальное в массиве строк #include<stdio.h> #include<conio.h> #include<malloc.h> #include<windows.h> void GetStr(char*str,int size) { int i; char c; for(i=0;size>0&&(c=getche())!=13;size--,i++) { str[i]=c; } str[i]='\0';
} int GetWord(char*str,int *i) { int len=0; while(str[*i]==32) (*i)++; if(str[*i]=='\0') return 0;
while(str[*i]!=32 && str[*i]!='\0') { len++; (*i)++; }
return len; } int main() { char** arr; int number, size,i,lenght=0,location=0,minlenght,l_minword,index; printf("Enter,how many strings do you want: "); scanf("%d",&number); arr=(char**)malloc(number*sizeof(char*)); printf("Enter,how many symbols in strings do you want: "); scanf("%d",&size); for(i=0;i<number;i++) arr[i]=(char*)malloc(size+1*sizeof(char)); system("cls"); for(i=0;i<number;i++) { printf("Enter string number %d: ",(i+1)); GetStr(arr[i],size); system("cls"); } lenght=GetWord(arr[0],&location); minlenght=lenght; l_minword=location;
for(i=0,index=0;i<number;i++) { while(arr[i][location]!='\0') { lenght=GetWord(arr[i],&location); if(lenght<minlenght) { minlenght=lenght; l_minword=location; index=i; } } location=0; }
for(i=l_minword-minlenght;i<=l_minword;i++) printf("%c",arr[index][i]); for(i=0;i<number;i++) free(arr[i]); free(arr); getch(); return 0; }
НОД рекурсией #include<stdio.h> #include<conio.h> int Nod(int n,int m) { if(n<m) { int temp=n; n=m; m=temp; } if(n%m==0) return m; else return Nod(n%m,m); } int main() { int number1, number2; int nod; scanf("%d%d",&number1,&number2); nod=Nod(number1,number2); printf("\n%d",nod); getch(); return 0; }
Реверс каждого слова в строке #include<stdio.h> #include<conio.h> #include<malloc.h> void GetStr(char*str,int size) { int i; char c; for(i=0;size>0&&(c=getche())!=13;size--,i++) { str[i]=c; } str[i]='\0'; } int GetWord(char*str,int *i) { int len=0; while(str[*i]==32) (*i)++; if(str[*i]=='\0') return 0;
while(str[*i]!=32 && str[*i]!='\0') { len++; (*i)++; }
return len; } void Revers(char *str,int l, int r) { r--; while(l<r) { int temp=str[l]; str[l]=str[r]; str[r]=temp; l++; r--; } }
int main() { char *string; int size,location=0,left,lenght; printf("Enter how many symbols do you want: "); scanf("%d",&size); string=(char*)malloc(size*sizeof(char)); printf("Enter string: "); GetStr(string,size); while(string[location]!='\0') { lenght=GetWord(string,&location); left=location-lenght;
Revers(string,left,location);
} printf("\n%s",string); free(string); getch(); return 0; }
Реверс строки #include<stdio.h> #include<conio.h> #include<malloc.h> void GetStr(char*str,int size) { int i; char c; for(i=0;i<size&&(c=getche())!=13;i++) { str[i]=c; } str[i]='\0';
} void Revers(char *str) { int i=0, j; for(j=0;str[j+1]!='\0';j++); while(i<j) { int temp=str[i]; str[i]=str[j]; str[j]=temp; i++; j--;
} } int main() { char *string; int size,lenght; printf("Enter,how many symbols do you want: "); scanf("%d",&size); string=(char*)malloc(size+1*sizeof(char)); printf("Enter string: "); GetStr(string,size); Revers(string); printf("\n%s",string); free(string); getch(); return 0; }
Рекурсивный реверс строки #include<stdio.h> #include<conio.h> #include<malloc.h> int GetStr(char*str,int size) { int i; char c; for(i=0;i<size&&(c=getche())!=13;i++) str[i]=c; str[i]='\0'; return i-1; } void Revers(char *str,int l, int r) {
if(l<r) { int temp=str[l]; str[l]=str[r]; str[r]=temp; l++; r--; Revers(str, l, r); } } int main() { char *string; int size,lenght; printf("Enter,how many symbols do you want: "); scanf("%d",&size); string=(char*)malloc(size+1*sizeof(char)); printf("Enter string: "); lenght=GetStr(string,size); Revers(string,0,lenght); printf("\n%s",string); free(string); getch(); return 0; }
Седловая точка #include<stdio.h> #include<conio.h> #include<malloc.h> int main() { int **A; int m,n,i,j,point,t,i1,i2,j1,alarm=0; printf("Enter,how many strings do you want: "); scanf("%d",&m); printf("Enter,how many colomns do you want: "); scanf("%d",&n); A=(int**)malloc(m*sizeof(int*)); for(i=0;i<m;i++) A[i]=(int*)malloc(n*sizeof(int*)); for(i=0;i<m;i++) for(j=0;j<n;j++) { printf("Element[%d][%d]= ",i,j); scanf("%d", &A[i][j]); }
for(i=0;i<m;i++) { t=*(*(A+i)+0); i1=i; j1=0; for(j=0;j<n;j++) if(*(*(A+i)+j)<t) { t=*(*(A+i)+j); i1=i; j1=j; } point=0; for(i2=0;i2<m;i2++) if(t<=*(*(A+i2)+j1)&&i1!=i2) point=1; if(!point) { alarm=1; printf("\n Naidena sedlovaia tochka %d s koordinatami: %d,%d",t,i1+1,j1+1);
} } if(!alarm) printf("Net sedlovix tochek"); for(i=0;i<m;i++) free(A[i]); free(A); getch(); return 0; }
Синус #include <stdio.h> #include <conio.h> #include <math.h> #define pi 3.1415926535897932384626433832 long double factorial( long int number) { if(number==0|| number==1) return 1; return number* factorial(number-1); } double p(double base, double stage) { if (stage==0) return 1; if (stage==1) return base; return base * p(base, stage - 1); } double mod ( double numb) { if (numb>=0) return numb; return numb*(-1); } int main() { long double angl, calculatedsin=0, Maclaurinseries=1, sinlib; int k=0, n, acc,iteration; printf(" Please, enter angle "); scanf("%lf", &angl); printf(" Please, enter accuracy: "); scanf("%d", &acc); printf("Enter,how many iterations do you want: "); scanf("%d",&iteration); sinlib=sin(angl); for(;angl<- pi|| angl>pi ;) { k=angl/pi; angl=angl-(2*k*pi); }
for(n=0;n<iteration && mod(Maclaurinseries)>(1/(p(10,acc)));n++) { Maclaurinseries=p((-1),n)*(p(angl,(2*n+1))/factorial(2*n+1)); calculatedsin=calculatedsin+Maclaurinseries; // Ряд Маклорена для синуса } acc++; printf("Sin from your entered angle = "); printf("%.*lf \n", acc,calculatedsin); printf("For comparison, library sin = "); printf("%.16lf \n", sinlib); getch(); return 0; }
|
|
Последнее изменение этой страницы: 2017-09-12 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |