Помогите пожалуйста с задачей на C++,буду благодарен до конца жизни, не получается у самого, опыта нет =( В рабочем каталоге Exzample размещен файл, содержащий информацию об итогах сессии в учебной группе. Сведения о каждом студенте предоставлены в следующем виде: Фамилия, инициалы - 20 букв оценки по физике, математике, механики и истории - 1 байт Составить программу создания индексного файла в каталоге E:/rab с именем Ind1.dat, в котором разместить записи, средний балл по всем экзаменам в которых меньше 3,5. Функции работы с записями оформить в виде открытого метода.
Если я правильно понял задачу - то вот прога: Code: #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 файла: Code: Пупкин В.В. 3 5 7 2 Петров П.П 4 6 8 3 Иванов И.И 1 2 2 2 Формат out файла: Code: Иванов И.И 1 2 2 2 Если чё не так - пиши )
Опять не могу решить, помогите плиз, это последняя для сдачи. Вся надежда на родной античат =( Файл Rez1.dat,расположенный в каталогу EXZAMPL диска, содержит вещественные числа, являющиеся значениями матрицы размера 8*9. Составить объект имеющий метод чтения их в динамический массив и поиска минимального значения из максимальных значений строк матрицы. На экран вывести значение и исходной матрицы, полученные максимальные значения и выбранное минимальное.
блин я ужасно торможу и голова болит!вот что получилось: Code: 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; } };
А вот и поиск мах числа из мах строк. Мог где-нить не поставить } . И не забудь про + Code: //матрица 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; // посчитали всю строку } } }