Код работает не так, как ожидается (найти и исправить ошибки) - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> #include <string.h> char deletika(char a[80], long ot, long sk) { int i, j, k = 0; i = j = 0; --ot; sk = sk + ot; do { if ((i < ot) || (i > sk)) { a[j] = a[i]; j++; } i++; } while (a[i] = '\0'); for (k = j; k <= i; k++) { a[k] = *""; }; return (*a); } char zamenil(char a[80], long ot) { int k = 0, k1 = 0; char c[80], d[80]; char b[] = "123456789012345"; strcpy(c, a); strcpy(d, a); strcpy(c + ot, b); k = strlen(c); k1 = strlen(a); for (int n = k1; n >= k; n--) ; { c[n] = d[n]; } for (n = 1; n <= k1; n++) { a[n] = c[n]; } return (*a); } char qS(char a[80], int N) { int i = 0, j = N; char temp, p; p = a[N]; do { while (a[i] > p) i++; while (a[j] < p) j--; if (i <= j) { temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--; } } while (i <= j); if (j > 0) qS(a, j); if (N > i) qS(a + i, N - i); return (*a); } main() { int j = 0; clrscr(); char vvod[80]; FILE *fin, *fout; fin = fopen("input.txt", "r"); fout = fopen("output.txt", "w"); printf("vvedite stroku\n"); fgets(vvod, 80, fin); printf(vvod); printf("-sobral\n"); deletika(vvod, 0, 15); printf(vvod); printf("-udalil\n"); while (vvod[j] != '\0') { j++; }; printf(vvod); printf("-propustil\n"); zamenil(vvod, 15); printf(vvod); printf("-zamenil\n"); qS(vvod, j - 1); printf(vvod); printf("-sortiroval\n"); fprintf(fout, vvod); printf("vivod v file\n"); printf("and end"); getch(); fclose(fout); return (0); }
Решение задачи: «Код работает не так, как ожидается (найти и исправить ошибки)»
textual
Листинг программы
//Laba 3 //Ohstap4uk m3o-105b #include <stdio.h> #include <conio.h> #include <string.h> char deletika (char a[80], long ot, long sk) { int i,j,k=0; i=j=0; --ot; sk=sk+ot; do { if((i<ot)||(i>sk)) { a[j]=a[i]; j++; } i++; } while(a[i]!='\0'); for(k=j;k<=i;k++) { a[k]=*""; }; return(*a); } char zamenil (char a[80], long ot) { int k=0, k1=0,n; char c[80], d[80]; char b[]="123456789012345"; strcpy(c,a); strcpy(d,a); strcpy(c+ot,b); k=strlen(c); k1=strlen(a); for (n=k1; n>=k; n--) { c[n]=d[n]; } for (n=1; n<=k1; n++) { a[n]=c[n]; } return(*a); } char qS (char a[80], int N) { int i=0, j=N; char temp,p; p=a[N]; do { while (a[i]>p) i++; while (a[j]<p) j--; if (i<=j) { temp=a[i]; a[i]=a[j]; a[j]=temp; i++; j--; } } while (i<=j); if(j>0) qS (a,j); if(N>i) qS (a+i,N-i); return(*a); } main() { int j=0; char vvod[80]; FILE *fin, *fout; fin=fopen("input.txt","r"); fout=fopen("output.txt","w"); printf("vvedite stroku\n"); fgets(vvod,80,fin); printf(vvod); printf("-sobral\n"); deletika(vvod,0,15); printf(vvod); printf("-udalil\n"); while(vvod[j]!='\0') {j++;}; printf(vvod); printf("-propustil\n"); zamenil(vvod,15); printf(vvod); printf("-zamenil\n"); qS(vvod,j-1); printf(vvod); printf("-sortiroval\n"); fprintf(fout,vvod); printf("vivod v file\n"); printf("and fin"); getch(); fclose(fout); return(0); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д