Форум программистов, компьютерный форум CyberForum.ru

программирование, зачет по второму курсу. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать класс "Строка" http://www.cyberforum.ru/cpp-beginners/thread242086.html
Спецификация программы 1. В соответствии с приведенными вариантами заданий реализовать программу с использованием классов. 2. В программе должны быть реализованы следующие обязательные методы: 2.1. конструктор без параметров 2.2. конструкторы с различным числом параметров (в зависимости от варианта задания) 2.3. конструктор копирования 2.4. деструктор (в случае динамического определения...
C++ Считать данные Есть файл нужно считать данные с него. Там представлены различные параметры процесса. Можно как-нибудь считывать непосредственно в структуру. Например создать структуру поле 1 поле 2 поле 3 файл: поле 1 - бла бла поле 2 бле бле поле 3 блобло http://www.cyberforum.ru/cpp-beginners/thread242078.html
C++ Из ассемблера в C++
В общем можно ли как то перенести запись памяти из ассемблера в C++ //code from here to '' will be used to enable the cheat alloc(newmem,2048) //2kb should be enough label(returnhere) label(originalcode) label(exit) PointBlank.i3Exec+CDD7: jmp newmem
scanf("%*с%c",k); C++
нужно чтобы пропустило первый считываемый символ k - указатель как вариант можно scanf("%c""%c",k,k); такое решение получше scanf("%*с%c",k); но не понятно
C++ Преобразовать каждое слово в строке, удалив из него все последующие вхождения первой буквы http://www.cyberforum.ru/cpp-beginners/thread242036.html
Ребят, никак не могу написать данную задачу , буду очень признателен в помощи. Дана строка , состоящая из русских слов, разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, удалив из него все последующие вхождения первой буквы этого слова (количество пробелов между словами не изменять).
C++ указатели Привет Я не понимаю различия между transport и transport transport и transport это вроде указатели на motorcycle, а cout выводит разные значения Весь код #include "stdafx.h" #include "conio.h" #include "string" using namespace std; подробнее

Показать сообщение отдельно
MrOldZeppelin
1 / 1 / 0
Регистрация: 02.02.2011
Сообщений: 9
14.02.2011, 22:28     программирование, зачет по второму курсу.
Давай, дружок, прежде, чем решать задачи определимся с исходными данными.
Т.к. у тебя условие неполное, то сам подкорректируешь программу под свои нужды.

Исходные данные:
текстовый(!) файл "input.txt", в котором содержатся данные о студентах в формате:
<имя> <группа> <баллы>
Формат: ТЕКСТОВЫЙ,
ибо приведенных условий недостаточно для перевода из бинарной информации в текстовую
так и скажешь преподу

Выходные данные:
текстовый файл "output.txt", в котором содержатся данные о студентах в формате
<имя>

Связь:
Имена студентов выводятся лишь, в том случае, если их балл выше среднего по группе.

Алгоритм решения задачи:
1) Установить поддержку в консоли русского языка;
2) Создать входные и выходные потоки;
3) Описать две структуры и массив структур, где
а) структура состоит из количества баллов в группе и количества студентов
б) структура состоит из имени и баллов
4) Считать из потока и заполнить структуру данных
5) Вывести необходимые данные.
6) Закрыть потоки, закрыть файлы, закрыть консоль.

Алгоритм установлен, можно приступать к программированию.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//Среда компилятора Microsoft Visual C++ 2008, express 
 
#include <clocale>
#include <fstream>
#include <iostream>
#include <istream>
using namespace std;
int main(){
    setlocale(LC_ALL,"Russian");
 
    int n,st;
    cout<<"Введите количество групп.\n";
    cin>>n;
    cout<<"Введите количество студентов.\n";
    cin>>st;
    n++;// с учетом нулевого индекса
 
    ifstream fin("input.txt");
    if (!fin) {cout<<"Ошибка открытия файла";return 1;}
 
    ofstream fout("output.txt");
    if (!fout) {cout<<"Ошибка открытия файла";return 1;}
 
    struct group{
        int kol;
        int ob_ball;
    };
    group *a=new group[n];
 
    for(int i=0;i<n;i++) {a[i].ob_ball=0;a[i].kol=0;}// оказывается в Си надо обнулять массивы, а я и не знал, думал этот маразм только в Паскале
 
    char buf[100]; //по умолчанию длина фамилии студента не больше 100
    int ibuf,ibuf2;
    for(int i=0; i<st;i++){
        fin>>buf; 
        fin>>ibuf>>ibuf2;
        a[ibuf].ob_ball=a[ibuf].ob_ball+ibuf2;
        a[ibuf].kol++;
    }
    fin.close();
 
    struct student{
        char name[100];
        int ball;
    };
    student *b=new student[st];
 
    ifstream fin2("input.txt");
    if (!fin2) {cout<<"Ошибка открытия файла";return 1;}
 
    for(int i=0; i<st;i++){
        fin2>>b[i].name>>ibuf>>b[i].ball;
        if(a[ibuf].ob_ball/a[ibuf].kol<b[i].ball) fout<<b[i].name<<" ";
    }
 
    fin2.close();
    fout.close();
    return 0;
}
 
Текущее время: 03:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru