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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Skilik
Сообщений: n/a
#1

массивы, файлы, матрицы - C++

25.01.2010, 17:55. Просмотров 454. Ответов 6
Метки нет (Все метки)

1 На соревнованиях по фигурному катанию оценки заносятся в компьютер. Составить программу для вывода на экран лучшего результата после каждого выступления фигуристов.
2 В текстовом файле t записаны целые числа, упорядоченные по убыванию. Занести в бинарный файл h из текстового файла t целые числа, упорядоченные по возрастанию. Предусмотреть в программе просмотр бинарного файла h.
3 В массиве записана информация о росте каждого из К учеников класса (в порядке убывания роста). В начале учебного года в класс поступили два новых ученика. Получить аналогичный массив, учитывающий рост новых учеников.
4 Таблица футбольного чемпионата задана квадрат¬ной матрицей порядка n, в которой все элементы, при¬надлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2,1 или 0 (числу очков, набранных в игре: 2—выигрыш, 1—ничья, 0—проигрыш).
а) Найти число команд, имеющих больше побед, чем поражений.
б) Определить номера команд, прошедших чемпионат без пораже-ний.
в) Выяснить, имеется ли хотя бы одна команда, вы¬игравшая более половины игр.

кому не жалко помогите, желательно в турбо С++

Добавлено через 8 минут
ответ на вторую задачу почти готовый, надо коментарии и просмотр бинарного файла
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
#include <fstream>
#include <iostream>
  #include <conio.h>
  #include <stdio.h>
#define N 255
using namespace std;
int main(int argc, char* argv[])
{
  int A[N],i;
    ifstream ifs("t.txt");
      freopen("b.dat","wt",stdout);
    if(!ifs) {
        cout<<"CRITICAL INPUT ERROR."<<endl;
        getch();
        return 1;
    }
      int quant=0;
    for (i=0;ifs.eof()==0;i++)
    {
      ifs>>A[i];
        quant++;
    }
    for (i=quant-1;i>=0;i--)
      cout<<A[i]<<" ";
        getch();
          return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2010, 17:55     массивы, файлы, матрицы
Посмотрите здесь:

Массивы + файлы - C++
Просьба помочь с реализацией, а то вообще без понятия как это делать.

Файлы и массивы - C++
Всем добрый вечер. Прошу помочь в след. проге. Функция main должна заполнить массив числами из файла. Для определения длины массива...

Массивы и файлы - C++
Здравствуйте.Я не сильно разбираюсь в С++,написал программу,вроде все правильно,но почему то не работает,преподаватель тоже смотрел,говорит...

Массивы и файлы - C++
В двумерном массиве, состоящем из NxN вещественных элементов, вычислить: • сумму положительных элементов массива; • произведение...

Задачи на файлы и массивы - C++
1) Программа сортировки массива с использованием функций и заголовочного файла 2) Чтение массива из текстового файла и запись его в...

Файлы. Динамические массивы. - C++
Вывести на экран элементы входной последовательности положительных целых чисел, встречающихся в ней не более одного раза. Входная...

Динамические массивы, файлы, строки - C++
В первой строке файла указано количество строк. Выделить память под массив указателей на строки, ввести текст построчно, динамически...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
25.01.2010, 18:28     массивы, файлы, матрицы #2
1)
C
1
2
3
4
5
6
7
8
9
struct sorevnovanie
 {
  char lname[20];
  int  ocenka1;
  int ocenka2;
  int ocenka3;
  int ocenka4;
  float suma;
};
для вычисления

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
void main()
{
sorevnovanie *f;int p=1;
cout<<"Vvedite kolichesctvo figuristov:";int n;cin>>n;
f = (sorevnovanie*)calloc(n*n,sizeof(sorevnovanie));
 
if(p <= n)
{
for(int i=0;i<p;i++)
{
cout<<"Vvedite familiu:";cin>>fir[i].lname;
cout<<"Vvedite 1 ocenky:";cin>>f[i].ocenka1;
cout<<"Vvedite 2 ocenky:";cin>>f[i].ocenka2;
cout<<"Vvedite 3 ocenky:";cin>>f[i].ocenka3;
cout<<"Vvedite 4 ocenky:";cin>>f[i].ocenka4;
f[i].suma = (f[i].ocenka1 + f[i].ocenka2 + f[i].ocenka3 + f[i].ocenka4)/4;
}
}
else cout<<"no more sportsmen";
 
if((i!=0) && (f[i].suma > f[i-1].suma))
{
float temp = f[i].suma;
f[i].suma = f[i-1].suma;
f[i-1].suma = temp;
 
cout<<"Best result now :"<<f[i].lname<<" "<<f[i].suma<<" balov";
}
else cout<<"Best result now :"<<f[i].lname<<" "<<f[i].suma<<" balov";
}
 
cout<<"Vustypaet eshe odin figurist?";
char c;
if(c == 'y' || c == 'Y')
{
p++;goto m1;
}
 
getch();
free(f);
}
вроде так ... но я не проверял..
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
28.10.2011, 11:36     массивы, файлы, матрицы #3
Кто еще поможет 2ую решить?
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 16:45     массивы, файлы, матрицы #4
Цитата Сообщение от Вася1q Посмотреть сообщение
Кто еще поможет 2ую решить?
- Я тебе в личку по этому заданию ответил ещё утром, для кого писал

Добавлено через 1 минуту
Вот код ещё раз
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <stdio.h>
#include <stdlib.h>
 
// прототипы функций создания, просмотра и
// обработки бинарного файла
 
void create(void); 
void view(void);
void work(void);
 
int main()
{  
        create();
        view(); 
        work();
        system("pause");
        return 0;
}
 
// определение функции создания бинарного файла
 
void create(void)
{ 
        FILE * f;  
        int i, number, n;
        if ((f = fopen("t.txt","wb"))!= NULL)
        { 
                printf("\tCreation of binary file\n"); 
                printf("Enter number of values : "); 
                scanf("%d",&n);
        printf("Enter integer values : \n");
                for (i = 0; i < n; i++)
        { 
                        printf("%d value = ",i + 1);
                        scanf("%d",&number);
            fwrite(&number,sizeof(int),1,f); 
                }
        fclose(f); 
                printf("Integers are writed in binary file!\n");
        } 
        else 
                printf("Error creation binary file!\n");
}
 
// определение функции просмотра бинарного файла
 
void view(void)
{  
        int number;
        FILE * f;
        if ((f = fopen("t.txt","rb"))!= NULL)
        { 
                printf("\tSee binary file\n");
                while (!feof(f))//Так правельней будет
                        //т.к. можем достичь конца файла
                        //и fread уже не будет считывать 
                        //вариант while (fread без
                        //допусловий выхода из цикла потенциальный источник
                        //облома программы
                        //такое только в Debug отработает!
                {
                        if(fread(&number,sizeof(int),1,f))
                                printf("%d ",number);
                }
                printf("\n"); 
        fclose(f);
        }
        else 
                printf("Error open binary file!\n");
}
 
// определение функции обработки бинарного файла
 
void work(void)
{ 
        int * arr;//Указатель на массив с данніми из файла
        int number; 
        FILE * f; 
        int  k = 0,n;
        if ((f = fopen("t.txt","rb"))!= NULL)
        { 
                printf("\tWork with binary file\n");
                //Подсчитываем количесвто чисел в файле
                while (!feof(f))//То же самое что и while в view
                {
                        if(fread(&number,sizeof(int),1,f))
                                k++;
                }
                printf("Number of values in file = %d\n",k);
                //Память под массив
                //причём на Си её выделяют malloc
                //а выделение arr = new int[k] - это уже С++!!!
                arr = (int *)malloc((n = k)*sizeof(int));
                //n - также как и к будет содержать число элементов
                //Возвращаем курсор вначало для повторного чтения
                fseek(f,0,SEEK_SET);
                while (!feof(f))
                {
                        //Записываем элементы в массив от конца к началу
                        if(fread(&arr[k - 1],sizeof(int),1,f))
                                k--;
                }
                fclose(f);
                //Пишем данные в файл h
                if ((f = fopen("h.txt","wb"))!= NULL)
                {
                        printf("\tExtracting data into h.txt\n");
                        for (k = 0; k < n; k++)
                        {
                                if(fwrite(&arr[k],sizeof(int),1,f))
                                        printf("%d ",arr[k]);
                        }
                        printf("\nIntegers are writed in binary file!\n");
                        free((void *)arr);//Не забываем почистиь память
                }
        }
        else  
                printf("Error open binary file!\n");
}
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 16:47     массивы, файлы, матрицы #5
Вот так пишешь пишешь а для кого непонятно
Ниже скрин работы алгоритма
Миниатюры
массивы, файлы, матрицы  
-=ЮрА=-
28.10.2011, 16:55
  #6

Не по теме:

Вася1q, ну я рад что всё же не даром писал, сори что грубовато написал -

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ля кого писал
Просто расстраиваюсь когда просят - помогаю, а потом даже не пользуются. Надеюсь без обид

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 22:37     массивы, файлы, матрицы
Еще ссылки по теме:

Структуры,бинарные файлы,массивы - C++
Помогите пожалуйста решить такой вопрос: Подготовить программу,формирующую на основе информации вводимой с клавиатуры,два внешних...

Основы C++. Массивы, строки, файлы - C++
Добрый вечер. Пожалуйста, напишите здесь основы для языка C++. Вроде: Записать в файл так: ofstream out; out.open(&quot;путь_к_файлу&quot;); ...

C++. Файлы ввода-вывода, массивы, указатели - C++
Люди, учусь на инженера... зачем я пошла учится сюда уже не знаю... Помогите кто чем может, профи просьба сильно не ругаться и не...

Как записывать массивы, структуры и блоки данных в файлы? - C++
Хочу понять как записывают данные в файлы. Интересует как записывают массивы в файл. И как их потом считать. Как записывают структуры и...

Файлы,массивы и динамическое выделение памяти.Непонятная ошибка в коде. - C++
После выполнения сего чудесного мы видим такую картину(даже если закомментировать все printf,картина не меняется.): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
28.10.2011, 22:37     массивы, файлы, матрицы #7
Ах..точно)) очередное спасибо)
Yandex
Объявления
28.10.2011, 22:37     массивы, файлы, матрицы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru