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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.85
Luda-tin
Сообщений: n/a
14.05.2011, 23:13     Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. #1
1. Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.

2. Описать структуру с именем STUDENT, содержащую следующие поля:
  • фамилия и инициалы;
  • номер группы;
  • успеваемость (массив из пяти элементов).
Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы;
  • вывод на дисплей фамилий и номеров групп для всех студентов, включённых в массив, если средний балл студента больше 4.0;
  • если таких студентов нет, вывести соответствующее сообщение.

Необходимо выполнить нижеследующие задания в двух вариантах: используя локальные и динамические массивы. Размерности локальных массивов задать именованными константами, значения элементов массива - в списке инициализации. Ввод данных в динамический массив выполнять из файла.

1. Дана целочисленная прямоугольная матрица. Определить:
1) количество строк, не содержащих ни одного нулевого элемента;
2) максимальное из чисел, встречающихся в заданной матрице более одного раза.

2. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от x_нач до x_кон с шагом http://www.cyberforum.ru/cgi-bin/latex.cgi?dx с точностью http://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.

http://www.cyberforum.ru/cgi-bin/latex.cgi?ln\frac{x+1}{x-1}=2\sum_{n=0}^{\infty}\frac{1}{(2n+1){x}^{2n+1}}=2(\frac{1}{x}+\frac{1}{3{x}^{3}}+\frac{1}{5{x}^{5}}+...) \text{  } \|x|>1

Нижеследующие задания можно выполнять как с использованием динамических, так и с использованием локальных массивов. Размерность последних задаётся именованной константой.

1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму отрицательных элементов массива;
2) произведение элементов массива, расположенных между максимальным и минимальным элементами.

Упорядочить элементы массива по возрастанию.

 Комментарий модератора 
1. Размещайте задания прямо на форуме, это повышает вероятность того что вам помогут.
2. Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержание.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2011, 23:13     Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Посмотрите здесь:

Считать текст из файла и вывести на экран его предложения в обратном порядке C++
C++ Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке C++
C++ написать программу, которая считывает три предложения и выводит их в обратном порядке.
C++ Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
15.05.2011, 13:02
  #2
 Комментарий модератора 
Тему почистил, начинаем с чистого листа))
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.05.2011, 13:31     Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. #3
Цитата Сообщение от Luda-tin Посмотреть сообщение
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму отрицательных элементов массива;
C++
1
2
3
4
5
6
int a[] = {6, -3, -7, 7, 12, -8}, sz = sizeof(a) / sizeof(*a);
int sum = 0;
for(size_t i = 0; i < sz; ++i)
  if(a[i] < 0)
    sum += a[i];
std::cout << sum;
Цитата Сообщение от Luda-tin Посмотреть сообщение
2) произведение элементов массива, расположенных между максимальным и минимальным элементами.
C++
1
2
3
4
5
6
int a[] = {6, -3, 19, 7, 12, -7}, sz = sizeof(a) / sizeof(*a);
int *mi = std::min_element(a, a + sz),
    *ma = std::max_element(a, a + sz);
if(mi > ma)
  std::swap(mi, ma);
std::cout << std::accumulate(mi + 1, ma, 1, std::multiplies<int>());
Цитата Сообщение от Luda-tin Посмотреть сообщение
1. Дана целочисленная прямоугольная матрица. Определить:
1) количество строк, не содержащих ни одного нулевого элемента;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int m[3][4] = {
  1, 2, 3, 4,
  0, 7, 0, 3,
  6, 3, 2, 6,
};
size_t cnt = 0;
for(size_t i = 0; i < 3; ++i){
  bool flag = true;
  for(size_t j = 0; j < 4; ++j)
    if(!m[i][j])
      flag = false;
  if(flag)
    ++cnt;
}
std::cout << cnt;
Цитата Сообщение от Luda-tin Посмотреть сообщение
2) максимальное из чисел, встречающихся в заданной матрице более одного раза.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
size_t f(int m[][4], int &val){
size_t cnt = 0;
for(size_t i = 0; i < 3; ++i)
  for(size_t j = 0; j < 4; ++j)
    if(m[i][j] == val)
      ++cnt;
return cnt;
}
//...
size_t cnt = 0;
int max = INT_MIN;
for(size_t i = 0; i < 3; ++i){
  for(size_t j = 0; j < 4; ++j)
    if(f(m, m[i][j]) > 1 && m[i][j] > max)
      max = m[i][j];
}
std::cout << max;
PatchPro
5 / 5 / 0
Регистрация: 11.04.2010
Сообщений: 40
10.06.2011, 17:10     Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. #4
Цитата Сообщение от Luda-tin Посмотреть сообщение
1. Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Решения не нашел, пришлось самому делать. Но выложу свой вариант. Сделано в C++ Builder 6. Используется Memo, Button'ы. Блок-схема в архиве, как и сам исходник.

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String p1,p2,p3,text;        //в p1,p2,p3 хранятся 3 предложения, в text-исходный текст
int i,index;                 //i - для организации цикла, index для хранения позиции начала нового предложения
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->LoadFromFile("data.txt");     //Загрузка текста из файла
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
text=Memo1->Text;
for (i=1;i<=text.Length();i++)            //цикл от первого символа до последнего (=длине текста)
{
if (text[i]=='.')                         //если текущий символ=точка
{
p1=text.SubString(1,i);                   //Строка p1=часть строки text от 1 символа до точки
index=i+2;                                //Переменная i=первому символу нового предложения (пропускается точка и пробел)
break;                                    //Закончить цикл поиска первого предложения
}
}
 
for (i=index;i<=text.Length();i++)        //цикл от начала нового символа (в переменной index хранится) до конца текста
{
if (text[i]=='.')
{
p2=text.SubString(index,(i+1)-index);
index=i+2;
break;
}
}
 
for (i=index;i<=text.Length();i++)
{
if (text[i]=='.')
{
p3=text.SubString(index,(i+1)-index);
break;
}
}
Memo1->Text=p3+' '+p2+' '+p1;            //Вывести в Memo1 выделенные предложения, начиная с последнего
}
//---------------------------------------------------------------------------
Вложения
Тип файла: rar 1.rar (148.4 Кб, 104 просмотров)
Yandex
Объявления
10.06.2011, 17:10     Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru