Массив

Разработать программу которая бы сохраняла упорядоченность последовательности после того как в нее вставляется задаваемое число...Данные считываются из файла и дозаписываются туда же Вот мои нароботки помогите плиз#include #include #include #includeint*p; int vvod(); int vivod(int n); int obrab(int n); fstream fp,fp1; int main() {clrscr(); int n; n=vvod(); vivod(n); obrab(n); getch();} int vvod() {int n; fp.open("C:\\TEMP\\exz.txt",ios::in); fp>>n; p=new int[n]; for(int i=0;i>p[i]; return(n); } int vivod(int n) {for(int i=0;i>j; for (i=0;ij)) d=i;break; } n++; for(i=n-1;i>d;i--) {p[i+1]=p[i];}{ p[d]=j;}fp.close(); fp1.open("C:\\TEMP\\exz.txt",ios::out|ios::app); for(int i=0;i
3 ответа

А что не так? Код не компилируется? Выдаёт неправильные результаты? или ещё что-то?


А что не так? Код не компилируется? Выдаёт неправильные результаты? или ещё что-то?
Выдает неправильные ответы,ошибка где-то в обработке((


angel12, См комментарии:
#include<conio.h>
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
 
int*p;
int vvod();
int vivod(int n);
int obrab(int n);
fstream fp,fp1;
int main()
{clrscr();
int n;
n=vvod();
vivod(n);
obrab(n);
getch();
 
}
int vvod()
{int n;
fp.open("C:\\TEMP\\exz.txt",ios::in);
fp>>n;
p=new int[n];// Вы создали массив для хранения n элементов. Потом Вы хотите вставить туда число. Но размер массива не меняется, он так и остается n. Может быть тогда стоит массив сразу создать размером n+1 ?
for(int i=0;i<n;i++)
fp>>p[i];
return(n);
}
int vivod(int n)
{for(int i=0;i<n;i++)
cout<<setw(4)<<p[i];
return(0);
 
}
int obrab(int n)
{
int i,j,d,y;cout<<"vvdeite 4islo";cin>>j;
for (i=0;i<n;i++)
{ if ((p[i-1]<j)&&(p[i]>j))// при i равном 0 выход за пределы массива, получится что обращаетесь к элементу с индексом -1. Кроме того введенное число может самое большое среди существующих чисел, тогда чему равно d ? А со значением d Вы дальше работаете.
d=i;break;
}
n++;
for(i=n-1;i>d;i--)
{p[i+1]=p[i];}
 
{ p[d]=j;
 
}
 
 
 
fp.close();
fp1.open("C:\\TEMP\\exz.txt",ios::out|ios::app);
for(int i=0;i<n;i++)
fp1<<p[i];
fp1.close();
return(0);
fp.close();
fp1.open("C:\\TEMP\\exz.txt",ios::out|ios::app);
for(int i=0;i<n;i++)
fp1<<p[i];
fp1.close();
return(0);
}