Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // lab4.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h" //Самая крутая либа О_о...
- #include "stdlib.h" //Либа для молока.
- #include "conio.h" //Либа для гетча.
- #include "locale.h" //Либа для поддержки кирилицы.
- int _tmain(int argc, _TCHAR* argv[])
- {
- /* Операции по мелочи. */
- setlocale(LC_CTYPE,"Russian"); //Русский язык.
- int i, j, n, m, **Array, count, start, finish, temp=0, sum=0, max_sum=0, add_count=0; //Переменные для работы.
- float average, average_max; //Тоже переменные, тоже для работы.
- printf("Введите количество магазинов: "); //Получаем кол-во магазинов (только получаем через scanf конечно же).
- scanf("%d",&n);
- printf("Введите количество месяцев: "); //Получаем кол-во месяцев, которые нужно будет считать.
- scanf("%d",&m);
- printf("\n"); //Прыгаем на новую строку.
- /* Из полученных значений кол-ва магазинов и месяцев делаем 2D массив (можно без 3D очков с ним работать О_о...). */
- Array=(int**) malloc(n*sizeof(int*));
- for(i=0;i<n;i++) //Создаем массив.
- Array[i]=(int*) malloc(m*sizeof(int)); //В каждом массиве создаем массив - получилась матрица...мы круты...
- /* Загружаем матрицу... */
- printf("Формат ввода: [x,y] где X-элемент, а Y-строка...\n");
- for (i=0;i<n;i++) //По строкам.
- for (j=0;j<m;j++) //И по столбцам.
- {
- printf("Введите элемент[%d,%d]: ",j+1,i+1); //КЭП ушёл в отставку: мы не знаем что мы тут делаем! =(
- scanf("%d",&Array[i][j]); //Шучу. Мы по-элементно заполняем матрицу.
- }
- /* Выводим матрицу, чтобы показать юзеру что получилось в целом. */
- printf("\n");
- for(i=0;i<n;i++) //Переход по строкам.
- {
- for(j=0;j<m;j++) //Переход по столбцам.
- {
- printf("%d ",Array[i][j]); //Вывод в строку.
- }
- printf("\n"); //Переход на новую строку.
- }
- printf("\n"); //Любимый printf("\n"); =))
- /* Приступим к вычислениям! Юху^^ */
- printf("Введите с какого по какой месяц нужно посчитать среднюю выручку: \n");
- printf("Начиная с: ");
- scanf("%d",&start); //Переменная start задает начальный месяц периода.
- printf("Заканчивая: ");
- scanf("%d",&finish); //А finish - конечный.
- printf("\n"); //Опять printf("\n"); =))
- /* Из переменных, задающих начало и конец периода, вычитаем еденичку
- ибо массив начинается с нуля, а юзер и не думает об этом. */
- start-=1, finish-=1;
- count=(finish-start)+1; //Кол-во месяцев в заданном периоде.
- printf("\nСтатистика за %d месяца.",count);
- printf("\n");
- for (i=0;i<n;i++) //Перебираем по строкам.
- {
- for (j=start;j<=finish;j++) //И по столбцам.
- sum+=Array[i][j]; //Считаем сумму выручки за заданный период.
- if (max_sum<sum) //И ищем самый прибыльный магазин.
- {
- max_sum=sum;
- add_count=i;
- }
- printf("Выручка магазина #%d = %d\n",i+1,sum); //Показываем прибыль каждого магазина.
- average=(float)sum/count; //Вычисляем среднюю прибыль за выбраный период.
- printf("Средняя выручка за месяц = %.2f\n",average); //И показываем её.
- sum=0;
- }
- printf("\nСамый прибильный магазин #%d - его выручка = %d",add_count+1,max_sum); //Показываем самый прибыльный магазин и его выручку.
- free(Array); //Чистим память от динамического массива.
- getch(); //Тормозим консольку.
- return 0;
- }
- /* Лаба в 75 строк (Эта строка 75-ая). */
Add Comment
Please, Sign In to add comment