![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
InFuz |
![]()
Сообщение
#21
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент ![]() |
Создать двоичный файл и записать в него n целых чисел. Сформировать массив из элементов исходного файла, внеся в него числа, расположенные в файле до мин. эл. и после макс..
Код # include <iostream.h> # include <stdio.h> # include <conio.h> //----------------------------------------------------------------- void main() { clrscr(); FILE *f; int i,n; int a; f=fopen("input.dat","wb"); cout<<"n="; cin>>n; fwrite(&n, sizeof(int),1,f); for(i=0; i<n; i++) { cout<<"a["<<i<<"]="; cin>>a; fwrite(&a, sizeof(int),1,f); } fclose(f); } Код # include <iostream.h> # include <stdio.h> # include <math.h> # include <conio.h> # include <alloc.h> //----------------------------------------------------------------- void main() { clrscr(); FILE *f,*g; int i,n,imin=0,imax=0,s=0; int *a,*b; f=fopen("input.dat","rb"); fread(&n,sizeof(int),1,f); a=new int[n]; fread(a,sizeof(int),n,f); for(i=0; i<n; i++) { if(a[imax]<a[i]) imax=i; if(a[imin]>a[i]) imin=i; } for(i=0; i<imin; i++) s++; for(i=imax+1; i<n; i++) s++; b=new int[s]; int t=0; for(i=0; i<imin; i++) { b[t]=a[i]; t++; } for(i=imax+1; i<n; i++) { b[t]=a[i]; t++; } for(i=0; i<t; i++) { cout<<"\n b["<<i<<"]="<<b[i]; cout<<endl; } g=fopen("result.txt","wt"); for(i=0; i<t; i++) { fprintf(g,"%f ",b[i]); } fclose(g); fclose(f); delete[]a; delete[]b; getch(); } нашел, ругается на что-то когда пытаешься результат во txt записать, хотя до этого работало в предыдушей проге (IMG:style_emoticons/default/mellow.gif) |
![]() ![]() |
Vahappaday |
![]()
Сообщение
#22
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
По-моему, лучше с нуля написать...
Сделать ввод с клавиатуры отдельной функцией как тут. Но добавить сразу проверку ввода (нельзя вводить ничего кроме чисел, пробела и переноса строки), и сделать динамическое выделение памяти (чтобы макс. длина строки не была ограничена) - второе, в принципе, не обязательно. Сделать функцию разбиения на подстроки, разделенные пробелами - на вход поступает char*, на выходе char** и количество строчек в массиве. И, наконец, функцию проверки, является ли строка палиндромом. В main останется разбить на строки, а затем пробежаться по массиву строк и вывести только те, которые палиндромами не являются. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 29.5.2025, 13:15 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru