2. Тестовый файл: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tortor nec enim dictum, quis accumsan quam ultricies. Maecenas suscipit urna sed leo pellentesque pellentesque. Donec lorem libero, mattis ac lobortis et, porta ac felis. Pellentesque at dui sollicitudin mauris cursus dignissim. Integer aliquam metus eu ligula rutrum, non ultricies libero molestie. Proin posuere ante velit, quis luctus arcu efficitur a. Suspendisse sed interdum dolor. Integer laoreet, mi non pulvinar sagittis, leo mi semper mauris, sed fermentum est lorem sed neque. Duis neque justo, facilisis at magna quis, molestie varius dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean at nulla massa. Proin interdum turpis justo, ac ultricies mauris molestie vitae. In erat augue, elementum in placerat vitae, venenatis quis metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer hendrerit interdum tellus, sit amet porttitor diam consequat quis. Vivamus dignissim aliquam ex, eu maximus augue commodo a. Morbi molestie convallis urna ac faucibus. Mauris eget aliquet est. Nulla luctus fringilla magna, ut viverra elit porta sit amet. Curabitur at tortor eget dolor tincidunt iaculis. Praesent odio libero, vestibulum lobortis est id, porta aliquam tortor. Quisque fringilla nibh ut tellus dignissim, at pulvinar mauris faucibus. Suspendisse eu metus vestibulum, vestibulum ligula sed, pharetra tellus. Etiam ultrices consectetur congue. Nulla at dignissim urna. Sed pretium augue ipsum, in egestas massa tempor sed. Ut id tincidunt lacus, tristique hendrerit arcu. Quisque ultrices sem consectetur risus gravida, nec tristique tellus egestas. Nunc eleifend non diam elementum scelerisque. In ac dui in neque euismod volutpat eu sit amet metus. Donec iaculis leo urna, ut mattis est commodo in. Phasellus sollicitudin, ante sit amet rhoncus dignissim, velit mauris scelerisque neque, posuere ultrices ante augue eget libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi metus nulla, tincidunt vitae congue id, sollicitudin et neque. Maecenas suscipit vel sapien hendrerit lobortis. In feugiat nulla massa. Fusce nec gravida nunc. Integer nec odio a eros luctus auctor. Fusce blandit quam id dolor vestibulum feugiat. Cras tincidunt id felis ac ultricies. Proin feugiat hendrerit feugiat. Vestibulum congue leo ex, pulvinar sagittis ipsum venenatis eu. In vitae dolor in odio lacinia laoreet. Vivamus eget rhoncus felis. Nulla ullamcorper lorem quis ultrices iaculis. Aliquam facilisis mattis lacus. Morbi et volutpat odio. Sed posuere, odio at faucibus dapibus, ex nisl auctor elit, et vehicula lectus ex sit amet lectus. Pellentesque viverra dignissim urna et feugiat. Nunc vitae justo nec ex vehicula dapibus. Ut sed sem laoreet, sollicitudin dui fermentum, congue velit. In interdum augue velit, a viverra lectus porta eu. Curabitur malesuada placerat lobortis. Praesent ullamcorper ullamcorper elit, eget mollis dolor. Vestibulum malesuada accumsan leo, non maximus nisl. Donec nec nunc tellus. Fusce volutpat hendrerit urna, et egestas nibh vestibulum eget. Cras pharetra rutrum libero non blandit.
//объявляем все переменные и константы //константа n, определяющая размер массива const n = 5; //делаем предварительное описание тип для массива type arr = array[1..n] of integer; //целочисленный тип для примера. Можно использовать и вещественный, если потребуется //и объявляем остальные переменные (включая сам массив) var a: arr; i, sum: integer; //i - переменная цикла, sum - сумма элементов average: double; //тип может быть любым вещественным begin //вводим элементы writeln('введите элементы массива'); for i:=1 to n do readln(a[i]); //инициализируем переменную sum sum := 0; //далее собственно вычисление for i:=1 to m do begin if (i mod 2) = 0 then //проверка на чётность номера элемента sum := sum + a[i]; //находим сумму элементов для вычисления среднего арифметического end; // и последний шаг - находим среднее арифметическое. Не забываем, что количество чётных элементов только в 2 раза меньше количества. Поэтому используем div 2, то бишь делим без остатка на 2. Полученное число и будет количеством чётных элементов в нашем массиве. average := sum / (n div 2); writeln('среднее арифметическое чётных элементов равно'); writeln(average); end.
1. Листинг программы:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream f("words.txt");
int MAX_WORD = 6;
if(!f.is_open())
{
cout <<"Ошибка открытия файла!" <<endl;
return 1;
}
string str;
int line=1;
int len=0, cnt=0;
while(!f.eof())
{
getline(f, str);
for(int i=0; i!=str.length(); ++i)
{
if(str[i]!=' ')
++len;
else
{
if(len<=MAX_WORD)
{
++cnt;
len=0;
}
else
len=0;
}
}
cout <<line <<". Коротких слов: " <<cnt <<endl;
cnt=0;
++line;
}
return 0;
}
2. Тестовый файл:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vehicula tortor nec enim dictum, quis accumsan quam ultricies.
Maecenas suscipit urna sed leo pellentesque pellentesque. Donec lorem libero, mattis ac lobortis et, porta ac felis. Pellentesque at dui sollicitudin mauris cursus dignissim.
Integer aliquam metus eu ligula rutrum, non ultricies libero molestie. Proin posuere ante velit, quis luctus arcu efficitur a.
Suspendisse sed interdum dolor.
Integer laoreet, mi non pulvinar sagittis, leo mi semper mauris, sed fermentum est lorem sed neque.
Duis neque justo, facilisis at magna quis, molestie varius dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Aenean at nulla massa. Proin interdum turpis justo, ac ultricies mauris molestie vitae. In erat augue, elementum in placerat vitae, venenatis quis metus.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer hendrerit interdum tellus, sit amet porttitor diam consequat quis.
Vivamus dignissim aliquam ex, eu maximus augue commodo a. Morbi molestie convallis urna ac faucibus. Mauris eget aliquet est. Nulla luctus fringilla magna, ut viverra elit porta sit amet.
Curabitur at tortor eget dolor tincidunt iaculis. Praesent odio libero, vestibulum lobortis est id, porta aliquam tortor.
Quisque fringilla nibh ut tellus dignissim, at pulvinar mauris faucibus.
Suspendisse eu metus vestibulum, vestibulum ligula sed, pharetra tellus. Etiam ultrices consectetur congue. Nulla at dignissim urna. Sed pretium augue ipsum, in egestas massa tempor sed.
Ut id tincidunt lacus, tristique hendrerit arcu. Quisque ultrices sem consectetur risus gravida, nec tristique tellus egestas. Nunc eleifend non diam elementum scelerisque.
In ac dui in neque euismod volutpat eu sit amet metus. Donec iaculis leo urna, ut mattis est commodo in. Phasellus sollicitudin, ante sit amet rhoncus dignissim, velit mauris
scelerisque neque, posuere ultrices ante augue eget libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Morbi metus nulla, tincidunt vitae congue id, sollicitudin et neque. Maecenas suscipit vel sapien hendrerit lobortis. In feugiat nulla massa.
Fusce nec gravida nunc. Integer nec odio a eros luctus auctor. Fusce blandit quam id dolor vestibulum feugiat. Cras tincidunt id felis ac ultricies. Proin feugiat hendrerit feugiat.
Vestibulum congue leo ex, pulvinar sagittis ipsum venenatis eu. In vitae dolor in odio lacinia laoreet. Vivamus eget rhoncus felis. Nulla ullamcorper lorem quis ultrices iaculis.
Aliquam facilisis mattis lacus. Morbi et volutpat odio. Sed posuere, odio at faucibus dapibus, ex nisl auctor elit, et vehicula lectus ex sit amet lectus.
Pellentesque viverra dignissim urna et feugiat. Nunc vitae justo nec ex vehicula dapibus. Ut sed sem laoreet, sollicitudin dui fermentum, congue velit.
In interdum augue velit, a viverra lectus porta eu. Curabitur malesuada placerat lobortis. Praesent ullamcorper ullamcorper elit, eget mollis dolor.
Vestibulum malesuada accumsan leo, non maximus nisl. Donec nec nunc tellus. Fusce volutpat hendrerit urna, et egestas nibh vestibulum eget.
Cras pharetra rutrum libero non blandit.
3. Прогон программы:
(см. скриншот).
//константа n, определяющая размер массива
const n = 5;
//делаем предварительное описание тип для массива
type arr = array[1..n] of integer; //целочисленный тип для примера. Можно использовать и вещественный, если потребуется
//и объявляем остальные переменные (включая сам массив)
var
a: arr;
i, sum: integer; //i - переменная цикла, sum - сумма элементов
average: double; //тип может быть любым вещественным
begin
//вводим элементы
writeln('введите элементы массива');
for i:=1 to n do readln(a[i]);
//инициализируем переменную sum
sum := 0;
//далее собственно вычисление
for i:=1 to m do
begin
if (i mod 2) = 0 then //проверка на чётность номера элемента
sum := sum + a[i]; //находим сумму элементов для вычисления среднего арифметического
end;
// и последний шаг - находим среднее арифметическое. Не забываем, что количество чётных элементов только в 2 раза меньше количества. Поэтому используем div 2, то бишь делим без остатка на 2. Полученное число и будет количеством чётных элементов в нашем массиве.
average := sum / (n div 2);
writeln('среднее арифметическое чётных элементов равно');
writeln(average);
end.