IPB

Здравствуйте, гость ( Вход | Регистрация )

> С++
InFuz
сообщение 3.5.2010, 17:30
Сообщение #1


Студент
**

Группа: Продвинутые
Сообщений: 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)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
Ответов(20 - 24)
Vahappaday
сообщение 15.5.2010, 9:42
Сообщение #21


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



эм... нет. stdin - это структура FILE* соответствующая стандартному потоку ввода. В нашем случае - консоли.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
InFuz
сообщение 27.5.2010, 10:15
Сообщение #22


Студент
**

Группа: Продвинутые
Сообщений: 116
Регистрация: 13.10.2009
Город: Ульяновск
Учебное заведение: УлГУ
Вы: студент



Вопросы:
for(i=0;i<n;i++) - n имеется ввиду '\0' или может maxlen или что?
массив arr[i] - это наш массив с первой строчкой, который у меня выше был как s[maxline]?
process(buffer) - это функция определения является ли число палиндромом?
strlen - это кто? (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 27.5.2010, 12:45
Сообщение #23


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



strlen - функция, принимает на вход строку, завершающуюся нулём, возвращает длину строки.

Цитата
process(buffer) - это функция определения является ли число палиндромом?
- да, я подразумевал именно это, но эту функцию надо в отличие от предыдущей написать самому.

arr[i] - массив с номерами строк, которые надо обрабатывать
соответственно n - количество элементов в нём.

Прога недописана, она не скомпилится.

Надо дописать process, надо сделать ввод массива arr.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
InFuz
сообщение 27.5.2010, 18:35
Сообщение #24


Студент
**

Группа: Продвинутые
Сообщений: 116
Регистрация: 13.10.2009
Город: Ульяновск
Учебное заведение: УлГУ
Вы: студент



Цитата(Vahappaday @ 27.5.2010, 16:45) *

- да, я подразумевал именно это, но эту функцию надо в отличие от предыдущей написать самому.

ну ясен пень, кто же будет создавать библиотечное нахождении палиндрома, а там в буфер будет передавать числа по очереди или вся строчка сразу?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Vahappaday
сообщение 28.5.2010, 17:17
Сообщение #25


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



вся строчка сразу, ограничено либо \0, либо \n
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 20:35

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru