laplena1982750
?>

Си++ разобраться с этим нужно, считанные дни до зачёта остались ((

Информатика

Ответы

magazin3000

#include <iostream>

#include <fstream>

#include <cmath>

using namespace std;

int main()

{

int a[5][5] = { 0 }, i, j, s, b[5] = { 0 };

double p;

ifstream f("input.txt");

if (!f.is_open())

 cout << "error";

else

{

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

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

   f >> a[i][j];

}

f.close();

s = 0;

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

 if(a[i][i]<0)

  s += a[i][i];

cout << "sum=" <<s<<endl;

p = 1;

for (int j = 0; j < 5; j++)

 p *= 2*sin(abs(a[3][j]))+0.3*j;

cout << "P=" << p << endl;

s = 0;

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

{

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

  if(a[i][j]>0)

   s += a[i][j];

 b[j] = s;

 s = 0;

}

cout << "massiv b: ";

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

 cout << b[i] << " ";

return 0;

}

Aleksandrovich-Mayatskikh

Описание алгоритма:

Будем наращивать длину последовательности от 0 знаков до N. Пусть после какого-то количества шагов у нас выписаны все последовательности длины А и мы хотим узнать количество подходящих последовательностей длины А+1. Распределим все последовательности на три группы(так как предыдущие символы нас не волнуют, то любые последовательности одной группы для нас равнозначны):

1) Заканчиваются на 0.

2) Ровно на одну единицу

3) Ровно на две единицы.

Из каждой последовательности группы 1 приписыванием нуля или единицы мы можем получить одну последовательность группы 1 и одну - группы 2. Неважно, какие именно, но они не перекрываются, т.к. предыдущие символы различны, хоть мы их и не учитываем. Точно так же из второй группы мы получаем одну последовательность группы 3 и одну группы 1, а из группы 3 - только группу 1. Таким образом, если количества последовательностей длины А по группам были (x, y, z), то для длины А+1 такое распределение будет (x+y+z, x, y). Если взять для длины 0 тройку (0, 0, 1) и просчитать тройки от 1 до N, получится искомое количество. Для N=1 и N=2 также работает правильно.

Программа на Pascal:

var num00,num01,num11,mem00:integer;

   n,i:byte;

begin

readln(n);

 num00:=1;

 for i:=1 to n do begin

   mem00:=num11;

   num11:=num01;

   num01:=num00;

   num00:=num01+num11+mem00;

 end;

writeln(num11+num01+num00);

end.

lzelenyi5

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApp

{

   class Program

   {

       //Объявление  счетчика попаданий

       public int Tochek_Popalo;

       //Метод проверки, входят ли наши точки в окружность, который в конце выдает нам количество вхождений "Tochek_Popalo"

       public int ProverkaVhojdeniya(int[] Massiv_X, int[] Massiv_Y)

       {

           int Schetchik = 0;

           for (int i = 0; i < Massiv_X.Length; i++)

           {

               if (Math.Sqrt((50 - Massiv_X[i]) * (50 - Massiv_X[i]) + (50 - Massiv_Y[i]) * (50 - Massiv_Y[i])) <= 30)

                   Schetchik++;

           }

           Tochek_Popalo = Schetchik;

           return Tochek_Popalo;

       }

       //Просто метод вывода результата на консоль

       public void Vivod_Na_Konsol()

       {

           Console.WriteLine("\nТочек (x,y) попало в окружность: " + Tochek_Popalo);

       }

       static void Main(string[] args)

       {

           int[] x = new int[10]; //Создаем массив ИКСОВ из 10 элементов

           int[] y = new int[10]; //Создаем массив ИГРИКОВ из 10 элементов

           Random RandomZnacheniya = new Random();

           //цикл присваивания случайных элементов в массив [x] от 0 до 100                        

           for (int i = 0; i < x.Length; i++)

               x[i] = RandomZnacheniya.Next(0, 100);

           //цикл присваивания случайных элементов в массив [x] от 0 до 100                            

           for (int i = 0; i < x.Length; i++)

               y[i] = RandomZnacheniya.Next(0, 100);

           //Просто вывод массива [x] на экран циклом "foreach"

           Console.Write("ИКСЫ: ");

           foreach (var item in x)

               Console.Write(" " + item);

           //Просто вывод массива [y] на экран циклом "foreach"

           Console.Write("\nИГРИКИ: ");

           foreach (var item in y)

               Console.Write(" " + item);

           //Создание экземпляра класса  

           Program Peredacha = new Program();

           //Вызов и передача наших массивов в Метод "ProverkaVhojdeniya"

           Peredacha.ProverkaVhojdeniya(x, y);

           //Вызов метода "Vivod_Na_Konsol"

           Peredacha.Vivod_Na_Konsol();

       }

   }

}

Объяснение: Проверь . Вроде все верно работает.  Если что пиши или отметь как верный ответ .


Не могу составить алгоритм/найти в тырнете. Чёрт его знает, не получается запустить. Буду при многом
Не могу составить алгоритм/найти в тырнете. Чёрт его знает, не получается запустить. Буду при многом
Не могу составить алгоритм/найти в тырнете. Чёрт его знает, не получается запустить. Буду при многом

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Си++ разобраться с этим нужно, считанные дни до зачёта остались ((
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

gav973
gardenstreet5
Shurshilina850
tarja4140
pnat1235
nestruev
Vrpeshka
luza5
solonataly5
e3913269
os2854
troyasport
yusovd291
kirillboytsov403
optikaleks7