Хелпикс

Главная

Контакты

Случайная статья





Задание 6.3. Работа с несколькими файлами



Задание 6.2. Текстовые файлы

10.Индивидуальное задание

Дан текстовый файл. Вывести в другой файл самые длинные слова текста (с учетом знаков препинания, расположенных в начале и в конце слов).

 

Задание 6.3. Работа с несколькими файлами

10.Индивидуальное задание

В файле хранятся название товара, количество и цена единицы. Задается строка, состоящая из имени и n пар натуральных чисел. Имя задает название нового файла. Первое число в каждой паре указывает номер записи файла, второе – количество записей, которые нужно переписать в выходной файл, начиная с записи с заданным номером. Если указанное количество превышает длину файла, то записи переписываются до конца файла. Написать программу для решения этой задачи.

 


Задание 1.1. Линейные программы

1. Задание для выполнения

Бутылка воды стоит 45 копеек. Пустые бутылки сдаются по 20 копеек, и на полученные деньги опять покупается вода. Какое наибольшее количество бутылок воды можно купить, имея некоторую сумму денег S копеек?

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"Russian");

int s,f;

cout << "Введите число\n";

cin >> s;

f = ((s - 45) / 25) + 1;

cout << f;

}

Контрольный пример:

 

2. Задание для выполнения

Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда?

Текст программы:

{

setlocale(LC_ALL,"Russian");

int a, s, d;

cin >> a;

s = (a / 36)+1;

a = a % 36;

d = (a / 5)+1;

cout << "Подьезд " << s << " этаж " << d;

}

Контрольный пример:

3. Задание для выполнения

Сколько четырехзначных нечетных чисел можно образовать, используя цифры: 0, 1, 4, 5, 6, 8? Выписать наименьшее и наибольшее из этих чисел. Записать решение в виде линейного алгоритма.

Текст программы :

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

cout << "нечетных чисел можно образовать " << 5 * 6 * 6 * 2 << endl

   << "наименьшее " << 1001 << endl

   << "наибольшее " << 8885;

}

Контрольный пример:

10. Индивидуальное задание.

Вычислить, используя не более восьми операций умножения и восьми операций сложения или вычитания:

.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL, "Russian");

       int x, y, otv;

       cout << "Введите х,у\n";

       cin >> x >> y;

       otv = 3 * pow(x, 2) * pow(y, 2) - 2 * x * pow(y, 2) - 7 * pow(x, 2) * y - 4 * pow(y, 2) + 15 * x * y + 2 * pow(x, 2) - 3 * x + 10 * y + 6;

       cout << "\n" << otv;

}

Контрольный пример:

Задание 1.2. Составление логических выражений

1. Задание для выполнения

Сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"Russian");

char f[10] = { };

char a, s, d, z;

cout << "Введите 4 значаное число\n";

cin >> f;

a = f[0];

s = f[1];

d = f[2];

z = f[3];

if(atoi(&a)+ atoi(&s)== atoi(&d)+ atoi(&z))

{

   cout << "true";

}

else

{

   cout << "false";

}

}

Контрольный пример:

2.Задание для выполнения

Сумма цифр данного трехзначного числа N является четным числом.

Текст программы:

 #include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

char f[10];

char a, s, d;

cout << "Введите 3 значное число\n";

cin >> f;

a = f[0];

s = f[1];

d = f[2];

if (((atoi(&a) + atoi(&s) + atoi(&d))%2)==0)

{

   cout << "true";

}

else

{

   cout << "false";

}

}

Контрольный пример:

3.Задание для выполнения

Точка с координатами (х, у) принадлежит части плоскости, лежащей между прямыми х = т, х = п (т < п).

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int x, y,m,n;

cout << "Введите x,y\n";

cin >> x >> y;

cout << "Введите m,n (m<n)\n";

cin >> m >> n;

if ((x < n) && (x > m))

{

   cout << "true";

}

else

{

   cout << "false";

}

}

Контрольный пример:

 

10. Индивидуальное задание.

Все цифры данного четырехзначного числа N различны

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL, "Russian");

       int i;

       bool s;

       char a[6];

       cout << "4 значное число";

       cin >> a;

       if (a[0] == a[1] || a[0] == a[2] || a[0] == a[3] || a[0] == a[4] || a[1] == a[0] || a[1] == a[2] || a[1] == a[3] || a[1] == a[4] || a[3] == a[1] || a[3] == a[2] || a[3] == a[0] || a[3] == a[4] || a[4] == a[1] || a[4] == a[2] || a[4] == a[3] || a[4] == a[0])

       {

                   cout << "false";

       }

       else

       {

                   cout << "true";

       }

 

}

Контрольный пример:

Задание 1.3. Условный оператор

1.Задание для выполнения

Незнайка учит иностранные слова следующим образом. Если число месяца, кратное трем, является вторником, четвергом или субботой, то он учит 3 испанских и 1 английское слово. Если число месяца, кратное трем, – другой день недели, то он учит 2 английских и 4 немецких слова. По числам, которые при делении на 3 дают в остатке 1, он учит 1 испанское, 1 английское и 5 немецких слов. По остальным числам месяца Незнайка учит 2 испанских, 4 английских и 1 немецкое слово. Написать программу, подсчитывающую, сколько слов в июне выучит Незнайка, если 1 июня была среда.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       int i, angl=0, nem=0, spen=0;

       for (i = 0; i < 30; i++)

       {

                   if (i % 3 == 0) {

                              if (i == 15 || i == 12 || i == 24)

                              {

                                          angl = angl + 1;

                                          spen = spen + 3;

                              }

                              else

                              {

                                          angl = angl + 2;

                                          nem = nem + 4;

                                  

                              }

                   }

 

 

                   if (i % 3 == 1)

                   {

                              angl = angl + 1;

                              nem = nem + 5;

                              spen - spen + 1;

                   }

 

                   if (i % 3 == 2)

                   {

                              angl = angl + 4;

                              nem = nem + 1;

                              spen = spen + 2;

                   }

       }

       cout << "angl " << angl << " nem " << nem << " spen " << spen;

}

Контрольный пример:

2.Задание для выполнения

Заданы окружность радиуса R с центром в начале коор­динат и прямая, проходящая через точки А (х; у) и В (х; -у). Написать программу, проверяющую, пересекаются ли окружность и прямая, или они касаются друг друга, или не пересекаются и не касаются. Привести тесты для проверки работоспособности программы.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"Russian");

int r, x;

cout << "Введите радиус";

cin >> r;

cout << "Введите х";

cin >> x;

if (x == r) cout << "касается";

if ((x < r) && (x > (-r))) cout << "пересекает";

if (!((x == r) || ((x < r) && (x > (-r))))) cout << "не пересекаются и не касаются";

  }

Контрольный пример:

3.Задание для выполнения

Через прямоугольное окошко размером Р × Q Винни-Пух хочет выбросить круглый воздушный шарик радиусом R. Написать программу, определяющую, пройдет ли шарик в окошко.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int r, p, q;

cout << "Введите радиус ";

   cin >> r;

   cout << "Введите размер окна";

   cin >> p >> q;

   if (((r * 2) <= q) && ((r * 2) <= p))

   {

       cout << "true";

   }

   else

   {

       cout << "false";

   }

}

Контрольный пример:

 

10.Индивидуальное задание.

Написать программу, проверяющую истинность высказывания «Среди цифр заданного трехзначного числа есть одинаковые».

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL, "Russian");

       int i;

       bool s;

       char a[6];

       cout << "3 значное число";

       cin >> a;

       if (a[0] == a[1] || a[0] == a[2] || a[0] == a[3] || a[1] == a[0] || a[1] == a[2] || a[1] == a[3] || a[2] == a[3] || a[2] == a[0] || a[2] == a[3])

       {

                   cout << "Есть одинаковые";

       }

       else

       {

                   cout << "Нет одинаковых";

       }

 

}

Контрольный пример:

Задание 1.4. Оператор выбора (варианта)

1.Задание для выполнения

Составить программу, которая бы в зависимости от введенной даты рождения человека в форме «dd. mm. yyyy» выводила бы на экран комментарий: если целых лет от 1 до 6 – «дитя», от 7 до 16 – «школьник», от 17 до 22 – «студент» от 23 до 60 – «большой человек», от 60 – «отдыхающий».

Текст программы:

#include <iostream>

using namespace std;

 

int main()

{

       setlocale(LC_ALL, "Russian");

int q, w, e, a, s, d;

cout << "Введите дату";

cin>> q >> w >> e;

d = 2020 - e;

d = d * 365;

s = 12 - w + 1;

s = s * 30;

a = (q + d + s) / 365;

cout << a;

       if ((a > 1) && (a <= 6)) cout << "дитя";

       if ((a>6) && (a<=16)) cout << "школьик";

       if ((a>16) && (a<=22)) cout << "студент";

       if ((a>22) && (a<=60)) cout << "большой человек";

       if (a > 60) cout << "отдыхающий";

}

Контрольный пример:

2.Задание для выполнения

Составить программу, определяющую является ли введенный шестизначный номер «счастливым» (совпадает ли у него сумма трех начальных и трех конечных цифр). Для выделения отдельных цифр во введенном номере можно использовать операции mod и div.

Текст программы с комментариями:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

char f[20];

char a, s, d, z, x, c;

cout << "Введите 6 значное число\n";

cin >> f;

a = f[0];

s = f[1];

d = f[2];

z = f[3];

x = f[4];

c = f[5];

if ( (atoi(&a)+ atoi(&s)+ atoi(&d)) == (atoi(&z)+ atoi(&x)+ atoi(&c)) )

{

cout << "\nсчастливое ";

}

else

{

cout << "\nне счастливое ";

}

}

 Контрольный пример:

3.Задание для выполнения

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

4.Текст программы с комментариями:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"Russian");

int a, b, s;

cin >> a >> b;

s = 180 - a - b;

if (s > 0)

{

if (a= =b= =s)

{cout << "Равностаронний ";}

if ((a = = 90) || (b = = 90) || (s= =90))

{cout << "Прямоугольный ";}

if ((a > 90) || (b > 90) || (s > 90))

{cout << "Тупоугольный ";}

if ((a < 90) && (b < 90) && (s < 90))

{cout << "Остроугольный ";}

if ((a == b) || (b == s) || (s == a))

{cout << "Равнобедреный ";}

}

else {cout << "Неправильное значение";}

}

 Контрольный пример:

10.Индивидуальное задание.

1. Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и длина окружности (третий элемент). Составить программу, которая по номеру элемента запрашивала бы его соответствующее значение и вычисляла бы площадь круга.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       int pi = 3.14;

       int i, a;

       setlocale(LC_ALL, "Russian");

       cout << "1-радиус,2-диаметр,3-длина окружности\n";

       cin >> i;

       cout << "Введите значение\n";

       cin >> a;

       switch (i)

       {

       case 1:

                   cout <<"Ответ" <<(a * a * pi);

                   break;

 

       case 2:

                   cout << "Ответ" <<((a * a * pi) / 2);

                   break;

       case 3: cout << "Ответ" << 2 * pi * a;

                   break;

       default:

                   break;

       }

}

Контрольный пример:

Задание 1.5. Цикл с параметрами

1.Задание для выполнения

Первое любимое число Незнайки – 1, второе – 5. Каждое следующее число получается как сумма удвоенного предыдущего и предпредыдущего. Так, третье любимое число – 11, а четвертое – 27. Вывести любимые числа Незнайки среди первой тысячи и вычислить их сумму.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       int i, s[1000] = {1,5},sum=6;

       cout << 1 << '\n' << 5 << '\n';

       for ( i = 2; i < 100; i++)

       {

                       

                   s[i] = (s[i - 1]*2) + s[i-2];

                   if (s[i] > 1000) break;

                   sum = sum + s[i];

                   cout << s[i]<<'\n';

                       

 

       }

       cout <<'\n' <<sum;

}

Контрольный пример:

2.Задание для выполнения

Некто взял ссуду в банке величиной А руб. под В% годовых. Ежегодно заемщик вносит платежи в счет ссуды в С руб. Написать программу, определяющую, через сколько лет будет погашена ссуда, и сумму денег, выплаченных заемщиком банку.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL,"Russian");

       int a, b=0, c=0, den,god=0,i,f,sum=0;

       cout << "Некто взял ссуду в банке величиной А руб. под В\% годовых. Ежегодно заемщик вносит платежи в счет ссуды в С руб. \n";

       cin >> a >> b>> c;

       f = a;

       for (int i = 0; i < 999999; i++)

       {

                   a = a -c;

                   a = a + ((a / 100) * b);

                                          sum = sum + c;

                   god = god +1;

                   if (a <= 0) {

                              sum = sum + a;

                              break;

                   }

 

       }

       cout <<"Лет "<< god<<" Выплатили "<<sum;

}

Контрольный пример:

Рассмотрим ссуду в 10000, под 10% и выплатами по 2001.

3.Задание для выполнения

Сформировать последовательность, состоящую не менее чем из n цифр, такую, что каждое двузначное число, записываемое двумя соседними цифрами (в том порядке, в каком они написаны), должно делиться на 19 или 23. Последовательность должна начинаться на заданную цифру

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL,"Russian");

int i, j,b,s;

       cout << "Введите кол во цифр \n";

cin >> j;

       int *a = new int [j];

       for ( i = 0; i < j; i++)

       {

                   cin>> a[i];

       }

 

       for ( i=1 ; i < j; i++)

       {

                   s = (a[i] * 10) + a[i-1];

                   b = (a[i - 1] * 10) + a[i];

                   if ((s % 23) == 0 || (s % 19) == 0)

                              cout <<"делиться на 19 или 23: "<< s<<"\n";

                   if ((b % 23) == 0 || (b % 19) == 0)

                              cout << "делиться на 19 или 23: " << b << "\n";

                       

       }

}

Контрольный пример:

Для примера возьмем последовательность чисел 19235974.

 

10.Индивидуальное задание для выполнения

На каждом следующем дне рождения Винни-Пух съедает столько же пищи, сколько на двух предыдущих. На двух первых днях рождения у Пятачка и Кролика он съел по 100 г пищи. Написать программу, определяющую, на каком дне рождения вес съеденной пищи превысит собственный вес Винни-Пуха.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL, "Russian");

       int s, i;

       int* a = new int[9999];

       a[0] = 100;

       a[1] = 100;

       cout << "Введите вес винипуха\n";

       cin >> s;

       for (i = 2; i < 99999; i++)

       {

                   a[i] = a[i - 1] + a[i - 2];

                   if (a[i] > s) {

                              cout <<"День: "<<i<<" Вес"<< a[i]; break;

                   }

 

       }

 

 

}

Контрольный пример:

Задание 1.6. Цикл с предусловием и постусловием

1.Задание для выполнения

Татьяна Ларина, читая очередной французский роман, подсчитала сумму номеров прочитанных страниц. Написать программу, определяющую номер последней прочитанной страницы.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

int i=1, a,z;

cout << "1. Татьяна Ларина, читая очередной французский роман, подсчитала сумму номеров прочитанных страниц. Написать программу, определяющую номер последней прочитанной страницы.";

   cin >> a;

     while ((a - i) >= 0){ a = a - i; i++; };

       cout << i-1;

       

}

Контрольный пример:

Рассмотрим сумму страниц равную 3.

 

2.Задание для выполнения

Написать программу, вычисляющую сумму . Сумма должна содержать 100 слагаемых, попадающих в промежутке [a,b].

Текст программы:

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL,"Russian");

double g,u=0,i, j;

double PI = 3.14159265;

int param = 4, z = 0, h = 0, s=0;

g = 0;

cout << "Введите диапазон";

cin >> i >> j;

   

while (s < 100)

{

       

  g=sin( ((h+1) * PI )/ pow(2,z+1)) - sin(((h+3) * PI) / pow(2, z+2));

    

       h = h + 4;

       z = z + 2;

       if ((i < g) && (g < j)) {

           s = s + 1;

           u=u+ sin(((h + 1) * PI) / pow(2, z + 1)) - sin(((h + 3) * PI) / pow(2, z + 2));

        }

           

}

cout <<"Cумма 100 " <<u;

}

 

Контрольный пример:

Рассмотрим диапазон от 0 до 1.

3.Задание для выполнения

Написать программу, проверяющую, достаточно ли 100 слагаемых, чтобы сумма  превысила заданное А.

Текст программы:

#include <iostream>

using namespace std;

int main()

{

       setlocale(LC_ALL, "Russian");

       double s = 0,n=0;

       int i = 2, x,a;

       cout << "Введите х,a";

       cin >> x >> a;

           

       s=cos(x);

       cout << s<<'\n';

       n = n + s;

       while (i<100)

       {

                       

                   if ((i % 2) == 0) { s = sin(s); }

                   else

                   {

    s = cos(s);

                   }

        

                   cout << s<<'\n';

                   i=i + 1;

                   n = n + s;

 

       }

 

       cout << n << '\n';

       if (n > a)

       {

                   cout << "да";

       }

       else

       {

                   cout << "нет";

       }

}

Контрольный пример:

 

10.Индивидуальное задание для выполнения

С клавиатуры вводится строго возрастающая последо­вательность натуральных чисел до тех пор, пока произведение трех соседних введенных чисел не превысит 100. Вычислить сумму факториалов всех введенных чисел. Эта работа должна быть выполнена как можно эффективнее, без повторов.

Текст программы:

#include <iostream>

using namespace std;

 

int fact(int z)

{

       int i;

       long float f = 1;

       for (i = 1; i < z + 1; i++)

       {

                   f = f * i;

       }

       return f;

}

 

int main()

{

       setlocale(LC_ALL, "Russian");

       long float s;

       long float sum = 0;

       int a[256] = { 0,0,0 };

       int i;

       cout << "Введите возростающую последовательность\n";

       cin >> a[0];

       cin >> a[1];

       cin >> a[2];

       if (a[0] * a[1] * a[2] < 100) {

                   sum = fact(a[0]) + fact(a[1]) + fact(a[2]);

                   for (i = 3; i < 999999; i++)

                   {

                              cin >> a[i];

                              sum = sum + fact(a[i]);

                              if ((a[i] * a[i - 1] * a[i - 2]) > 100) {

                                          cout <<"Сумма = " <<sum;

                                          break;

                          }

                   }

       }

       else

       {

                   s = fact(a[0]) + fact(a[1]) + fact(a[2]);

                   cout <<"Сумма = "<< s;

       }

 

       cout << "Проверка 10!=" << fact(10);

}

Контрольный пример:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.