• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Задача: Двумерные массивы (экономич. задача темпы роста производства)

  • Автор темы navit
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

navit

Задали такое задание:
Имеется таблица с данными об объёме производства 10 фирм за 5 лет. Определить, есть ли такая фирма, у которой все 5 лет наблюдался рост производства и, если есть, то каков её номер.

помогите решить пожалуйста)))
 
D

DarkKnight

C++:
/*
Имеется таблица с данными об объёме производства 10 фирм за 5 лет. 
Определить, есть ли такая фирма, у которой все 5 лет наблюдался рост производства и, если есть, то каков её номер. 
*/
/*
codeby.net
Autor: DarkKnight125
*/
#include <iostream>

using namespace std;

void main(void)
{
setlocale(LC_ALL,".1251"); //Переведем локаль в кодовую страницу 1251
double **Arr; //Наша таблица, где строки - фирмы, колонки - года
int cFirm, cYear; //Кол-во фирм, кол-во лет
cout<< "Введите кол-во Фирм : ";
cin>>cFirm;
cout<< "Кол-во лет в статистики : ";
cin>>cYear;
//С помощью динамического выделении памяти, выделим память под массив-таблицу
Arr = new double*[cFirm]; //Выделим память под строки
for (int i = 0; i< cFirm; i++)
{
Arr[i] = new double[cYear]; //Выделим память под колонки для строки
for (int j = 0; j < cYear; j++)
{
cout<<"Введите объем производства для Arr["<< i+1 << "," << j+1 << "] = ";
cin>> Arr[i][j];
}
}

//Найдем ту фирму в которой наблюдается рост
int NumFirm = -1; //Номер фирмы где наюблюдается рост
for (int i = 0; i< cFirm; i++)
{
bool isUp = true; //Флаг роста, пойдем от противного, предположим что текущая фирма на всем периоде имеет рост
for (int j = 1; j< cYear; j++)
if (Arr[i][j-1]>Arr[i][j]) //Если хоть раз предыдущий эл. строки > след. то рост не наблюдается на всем периоде
isUp = false;
if (isUp) //Если же флаг остался TRUE, значит фирма найдена
{
NumFirm = i; //Присвоим номер фирмы
break; //Выйдим из цикла
}
}
cout<< endl<< "Фирма у которой наблюдается рост производства : ";
if (NumFirm > -1)
cout<<NumFirm+1;
else cout << "*не найдена*";

cout<< endl;

}
 

Вложения

  • firmup.png
    firmup.png
    10,1 КБ · Просмотры: 269
N

navit

DarkKnight125, доволен как слон)) благодарю за ответ!!! а EXE-шный файл этой программы в Microsoft Visual Studio 2008 делается?
 
D

DarkKnight

Я именно писал в Visual Studio, но exe файл сделает любой компилятор ;-)
 
D

DarkKnight

Японский бог ;-))) Че вы сегодня все с БС то ;-)))
Я их чертить никогда не любил ;-)) Накатай свою... выложи... если что будет не верно я поправлю :)) А то с нуля ее рисовать ой как не хочется ;-)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!