Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
luck99
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 18
#1

Посмотрите програму - C++

26.05.2010, 23:31. Просмотров 1055. Ответов 24
Метки нет (Все метки)

Народ помогите пожалуйста. Програмку до утра надо написать а сам чет вообще не могу. Массив вроде задаю сортирую а по элементам не получается(
Вообщем вот задача : Отсортировать массив по возрастанию на интервале индексов от n1 до n2 (задаются пользователем)
Заранее огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 23:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посмотрите програму (C++):

Продолжить програму - C++
В среде С++ реализовать консольное приложение использующее заданный фрагмент кода. Описания переменных добавить самостоятельно. ...

Редактировать програму - C++
Заданна матрица 3Х3. Заменить в матрице числа буквами. #include <iostream> using namespace std; void main() { const int n=3; ...

решить програму - C++
1.Заменить в слове все гласные о на а, а буквы а – на о 2.Составить программу для вычеркивания из слова X каждой третьей буквы

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

Написать програму в С++ - C++
Ввести одномерный статический массив из k чисел. Вывести на экран ис-ходные данные и полученный результат в виде двух списков в...

Скласть програму - C++
Скласть програму для вычисления заданой функцыи!!!

24
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
26.05.2010, 23:39 #2
посмотри на сайте чуть выше там много примеров сортировки есть
1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
26.05.2010, 23:41 #3
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 <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main ()
{
    const int size=10;
    int MAS[size]={2,5,7,9,-3,6,9,8,10,-10};
    std::vector <int> vec;
    vec.assign (MAS, MAS+size);
    std::cout << "Start:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    size_t N_begin, N_end;
    std::cout << "Input N1: "; std::cin >> N_begin;
    std::cout << "Input N2: "; std::cin >> N_end;
 
    std::sort (vec.begin()+N_begin, vec.begin()+N_end);
 
    std::cout << "Finish:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system ("pause");
    return 0;
}
1
luck99
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 18
26.05.2010, 23:48  [ТС] #4
Спасибо)) А как к этой задачке схему еще сделать?
0
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:15 #5
neske,
а мона вопрос зачем постоянно писать перед cout и out, std::?
ведь можно проще до main написать строчку
C++
1
using namespace std;
и std:: - уже можно не писать
0
luck99
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 18
27.05.2010, 00:17  [ТС] #6
Luna Можеш мне коментарии к этой программе написать? Просто хочу разобраться что и как окончательно)
0
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
27.05.2010, 00:19 #7
Luna17, да, можно. Но чтобы не возникало проблем, я взял в привычку писать
C++
1
std::
0
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:24 #8
ммм, понятно, а можно я тогда попробую, щас эту прогу сделать без std::? просто так мне кажется чуть понятнее получается... меня лично std:: немного пугают)

кста
neske, мож помочь с файлами?
0
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
27.05.2010, 00:26 #9
Вы наверное путаете пространство имен std и векторы/алгоритмы/итераторы (то, что использовано у меня).

Делайте конечно

С файлами работать не умею.
0
Crudelis
Шаровик затейник
676 / 418 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:28 #10
Luna17, что за задача по файлам?
0
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:31 #11
Цитата Сообщение от Crudelis Посмотреть сообщение
Luna17, что за задача по файлам?
у меня не получается ввод данных в файл, у меня файл пустой выходит
0
Crudelis
Шаровик затейник
676 / 418 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:34 #12
Luna17, покажите свой код
0
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 00:38 #13
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 "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main ()
{
    const int size=10;
    int MAS[size]={2,5,7,9,-3,6,9,8,10,-10}; // это сам массив который сортируем
    std::vector <int> vec;
    vec.assign (MAS, MAS+size);
    std::cout << "Start:\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    size_t N_begin, N_end;
    std::cout << "Input N1: "; std::cin >> N_begin; // ввод 1ого интервала
    std::cout << "Input N2: "; std::cin >> N_end; // ввод 2ого интервала
 
    std::sort (vec.begin()+N_begin, vec.begin()+N_end); // сортировка массива в соответствии с интервалами
 
    std::cout << "Finish:\n"; // вывод
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system ("pause");
    return 0;
}
а вот это моё чудо с которым я 2ую неделю бьюсь,
задача:Написать программу каталогизатор для книг. Записи о данных каждой книги должны содержать поля:
А) название
Б) автор
В) тематика
Г) год выпуска
Д) ISBN
Е) издательство
Программа должна сохранять данные в файл (вот это у ми глючит), читать из файла, производить поиск данных в файле по ключевому полю.
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include "stdafx.h"
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
 
struct  BOOK
{
        char *name;
        char *avtor;
        char *tematika;
        int *godvipuska;
        char *ISBN;
        char *izdatelstvo;
};
 using namespace std;
const int Amax=255;
ostream& operator<<(ostream& out, BOOK &J)
 { 
         out<<"\n фамилия автора : "<<J.avtor;
         out<< "\n тематика книги : "<<J.tematika;
         out<<"\n год выпуска : "<<J.godvipuska;
         out<< "\n ISBN: "<<J.ISBN;
     out<<"\n издательство: "<<J.izdatelstvo;
         return out;
 }
int main()
{  
    setlocale (LC_ALL, "Russian");
    BOOK k[3],h;
    int i;
    FILE* f=fopen("katalogizator.txt","w+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    for (i=0; i<3; i++)
        { 
            printf ("введите название книги\t");
            k[i].name = new char [Amax];
            scanf("%s",k[i].name, Amax);
 
            
 
            printf ("введите фамилию автора\t");
            k[i].avtor = new char [Amax];
            scanf("%s",k[i].avtor, Amax);
 
 
            printf ("введите тематику книги\t");
            k[i].tematika = new char [Amax];
            scanf("%s",k[i].tematika, Amax);
 
 
            printf ("введите год выпуска книги\t");
            k[i].godvipuska = new int [Amax];
            scanf("%d",&k[i].godvipuska);
 
 
            printf ("введите ISBN книги\t");
            k[i].ISBN = new char [Amax];
            scanf("%s",k[i].ISBN, Amax);
 
 
            printf ("введите издательство книги\t");
            k[i].izdatelstvo = new char [Amax];
            scanf("%s",k[i].izdatelstvo, Amax);
 
 
            printf("\n");
        }
      fclose(f);
 
    f=fopen("katalogizator.txt","r+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    for (i=0; i<3; i++)
    {
        fscanf (f, "%s %s %s %d %s %s \n", &k[i].name, &k[i].avtor, &k[i].tematika, &k[i].godvipuska, &k[i].ISBN, &k[i].izdatelstvo );
    }
      fclose(f);
for (i=0; i<3; i++)
      {
          printf("%s %s %s %d %s %s ", k[i].name, k[i].avtor, k[i].tematika, k[i].godvipuska, k[i].ISBN, k[i].izdatelstvo, Amax);
          printf("\n");
      };
printf("введите название ключевого поля для поиска данных\t");
char *temp;
temp = new char [Amax];
scanf_s("%s", temp, Amax-1);
printf ("%s",temp);
int u=0;
f=fopen("katalogizator.txt","r+t");
{
h.avtor = new char [Amax];
h.godvipuska = new int;
h.ISBN = new char [Amax];
h.izdatelstvo = new char [Amax];
h.name = new char [Amax];
h.tematika = new char [Amax];
}
 while(!feof(f))
{
    printf("\ntest");
 fscanf(f, "%s %s %s %d %s %s \n", &h.name, &h.avtor, &h.tematika, &h.godvipuska, &h.ISBN, &h.izdatelstvo);
 
 if(strcmp(h.name,temp) == 0)
 {
    printf("\n Такая книга найдена в этой строке %s %s %s %d %s %s \n", &h.name, &h.avtor, &h.tematika, &h.godvipuska, &h.ISBN, &h.izdatelstvo, Amax);
    u++;
    break;
 }
  if (k==0) printf("\n Таких книг нет"); 
 }
 
fclose(f);
for (i=0; i<3; i++)
{
  delete[] k[i].avtor;
  delete[] k[i].ISBN;
  delete[] k[i].izdatelstvo;
  delete[] k[i].name;
  delete[] k[i].tematika;
}
{
delete[] h.avtor; 
delete[] h.godvipuska; 
delete[] h.ISBN;
delete[] h.izdatelstvo ;
delete[] h.name;
}
        _getch();
          return 0;
 
}
0
luck99
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 18
27.05.2010, 00:39  [ТС] #14
А как эту програмку сделать что бы размер массива сам задавал? Можете написать?
0
Crudelis
Шаровик затейник
676 / 418 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.05.2010, 00:42 #15
luck99,
C++
1
BOOK *k=new BOOK[n];
где n вводиться клавиатуры и является размером

Добавлено через 16 секунд
Luna17, ответил в Вашей теме на форуме
0
27.05.2010, 00:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2010, 00:42
Привет! Вот еще темы с ответами:

Написать програму... - C++
1) Дано чотири цілих числа, одне з яких відмінне від трьох інших, рівних між собою. Вивести квадрат цього числа. 2) Дано три дійсних...

проверте програму - C++
Всем доброго времени суток! вот создал програму про списки, ошибки при компиляции не выскакивают, но когда я иду на выполнение, в...

Картинка в програму - C++
HELP!!! Нужно вставить картинку в програму напишите пожалуйста полний код как ето сделать зарание БОЛЬШОЕ СПАСИБО

Надо написать програму - C++
Даны натуральное число n, символы s1, s2, …, sn среди которых есть двоеточие. Получить все символы, расположенные до первого двоеточия...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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