PDA

Просмотр полной версии : Задача =)


Sinex
03.05.2007, 23:37
Помогите пожалуйста с задачей на C++,буду благодарен до конца жизни, не получается у самого, опыта нет =(
В рабочем каталоге Exzample размещен файл, содержащий информацию об итогах сессии в учебной группе. Сведения о каждом студенте предоставлены в следующем виде:
Фамилия, инициалы - 20 букв
оценки по физике, математике, механики и истории - 1 байт
Составить программу создания индексного файла в каталоге E:/rab с именем Ind1.dat, в котором разместить записи, средний балл по всем экзаменам в которых меньше 3,5.
Функции работы с записями оформить в виде открытого метода.

Gorn
04.05.2007, 00:11
Если я правильно понял задачу - то вот прога:

#include <stdio.h>
#include <string.h>

class CFind
{
char *FILEIN,*FILEOUT;
public:
void SetInFile(char *name) { FILEIN = new char[strlen(name)]; strcpy(FILEIN,name); }
void SetOutFile(char *name) { FILEOUT = new char[strlen(name)]; strcpy(FILEOUT,name); }
void Make()
{
char line[21],fio[21];
int p,m,meh,h;
double res;
FILE *fin = fopen(FILEIN,"r");
FILE *fout = fopen(FILEOUT,"w");
while (fgets(line,20,fin))
{
strcpy(fio,line);
fgets(line,20,fin);
sscanf(line,"%d %d %d %d",&p,&m,&meh,&h);
if ((double)(p+m+meh+h)/4.0>=3.5) continue;
fputs(fio,fout);
fputs(line,fout);
}
fclose(fin);
fclose(fout);
}
};

int main()
{
CFind fnd;
fnd.SetInFile("base.txt");
fnd.SetOutFile("E:/rab/ind1.dat");
fnd.Make();
return 0;
}


Формат in файла:

Пупкин В.В.
3 5 7 2
Петров П.П
4 6 8 3
Иванов И.И
1 2 2 2

Формат out файла:

Иванов И.И
1 2 2 2


Если чё не так - пиши )

Sinex
04.05.2007, 07:52
Спасибо огромное =)

Sinex
13.05.2007, 19:35
Опять не могу решить, помогите плиз, это последняя для сдачи. Вся надежда на родной античат =(

Файл Rez1.dat,расположенный в каталогу EXZAMPL диска, содержит вещественные числа, являющиеся значениями матрицы размера 8*9. Составить объект имеющий метод чтения их в динамический массив и поиска минимального значения из максимальных значений строк матрицы. На экран вывести значение и исходной матрицы, полученные максимальные значения и выбранное минимальное.

sni4ok
13.05.2007, 20:20
Если я правильно понял задачу - то вот прога:



просто ужас, куча мемори ликов.

scrat
13.05.2007, 22:55
блин я ужасно торможу и голова болит!вот что получилось:
class matr
{
public:
int m[8][9];
void read(char* filename)
{
ifstream f(filename);
for(int i=0;i<8;i++) for(int j=0;i<9;i++) f>>m[i][j];
}
void show()
{
for(int i=0;i<8;i++) for(int j=0;i<9;i++) cout<<m[i][j]<<endl;
}
};

Ky3bMu4
14.05.2007, 17:50
А вот и поиск мах числа из мах строк. Мог где-нить не поставить } . И не забудь про +

//матрица int m[8][9] уже есть. Ищем Макс значения в стрроках.

int e;
int n;
int w = 0;
int s=8;//строки и столбцы
int k=9;
int l = 0;
for(s; s=>0; s--)
{
for (k;k=>0; k--)
{
if(l==0){ //если ваще первый наш элемент
e = [s][k];
l++;
}
else{
if(e<m[s][k]){ //если текущий эл-мент больше мах значение строки
e=m[s][k];
}
}
if(k == 0){//если посчитали всю строку
if(w==0){ //если наша первая строка
n = e; //текущее мах значение строки кладём в мах всей матрицы
w++;
}
if(e>n){ //текущее мах значение строки больше мах всей матрицы
n = e;
}
l = 0; // посчитали всю строку
}


}
}

Sinex
14.05.2007, 21:25
всем спасибо)