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

Тема в разделе "C/C++/C#", создана пользователем navit, 22 ноя 2010.

Статус темы:
Закрыта.
  1. navit

    navit Гость

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

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

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код (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
      Размер файла:
      46,8 КБ
      Просмотров:
      51
  3. navit

    navit Гость

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

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Я именно писал в Visual Studio, но exe файл сделает любой компилятор ;-)
     
  5. navit

    navit Гость

    В Visual Studio скомпилировал) а как зделать блок схему этой программы??? :discard:
     
  6. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Японский бог ;-))) Че вы сегодня все с БС то ;-)))
    Я их чертить никогда не любил ;-)) Накатай свою... выложи... если что будет не верно я поправлю :)) А то с нуля ее рисовать ой как не хочется ;-)
     
Загрузка...
Похожие Темы - Задача Двумерные массивы
  1. Янчик
    Ответов:
    0
    Просмотров:
    473
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    778
  3. elzim
    Ответов:
    0
    Просмотров:
    929
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.116
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.102
Статус темы:
Закрыта.

Поделиться этой страницей