Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- int temperature[7];//вводим переменную массива температур за 7 дней
- int i=0,g=0,k=0;//вводим индексы
- void header()//будет выводить на экран задачу программы
- {puts("Эта программа позволит вам ввести температуру воздуха за 7 дней,найти \nнаибольшую и наименьшую; найти день, когда температура достигла");
- puts("почти средней, отсортировать их по убыванию и вывести\nдни, когда температура находится в введеном вами диапазоне.");
- puts("\nВАЖНО!Старайтесь вводить только целые числа,дабы программа работала корректно.");
- }
- void choice()//будет выводить меню пользователя
- {printf("\n\n _____________________________________________________________________\n| Что вы хотите сделать? |");
- printf("\n| 0-Найти наибольшую и наименьшую температуру |\n| 1-Найти день,когда температура была почти средней |");
- printf("\n| 2-Отсортировать по убыванию температуры |\n| 3-Вывести дни,когда температура находится в введенном вами диапазоне|");
- printf("\n| 4-Закрыть программу |\n");
- printf(" _____________________________________________________________________");
- printf("\n\nВаш выбор: ");
- }
- int input_output()//даст пользователю ввести массив температур и вывести его на экран
- {for(i=0;i<7;i++)
- {printf("\nВведите температуру за %d-й день: ", i+1);
- scanf("%d",&temperature[i]);
- }system("cls");
- header();
- printf("\n\nДень Температура\n");
- for(i=0;i<7;i++)
- printf("\n %d %d",i+1,temperature[i]);
- }
- int main()
- {int answer;
- setlocale(LC_ALL, "rus");
- header();
- input_output();
- while(answer!=4)//будем просить пользователя сделать выбор, пока он не нажмет 4(выходиз программы)
- {choice();
- scanf("%d",&answer);
- switch(answer)
- {case 0: lookformin(); lookformax(); break;
- case 1: averageday(); break;
- case 2: sort(); break;
- case 3: spectrum(); break;
- case 4: return 0; break;
- default: printf("\nВы ввели неверный символ.");
- }
- }
- return 0;
- }
- int lookformin()//функция ищет минимальное значение
- {int min=temperature[0];
- for(i=1;i<7;i++)
- if(min>temperature[i])
- {min=temperature[i];
- g=i;
- }
- printf("\n\nСамая низкая температура недели была в %d-й день: %d гр.", g+1, min);
- }
- int lookformax()//функция ищет максимальное значение
- {int max=temperature[0];
- for(i=1;i<7;i++)
- if(max<temperature[i])
- {max=temperature[i];
- k=i;
- }
- printf("\nСамая высокая температура недели была в %d-й день: %d гр.", k+1, max);
- }
- int averageday()//функция ищет среднюю температуру и день,когда температура была наиболее приближённой к ней
- {int sum=0;
- float average=0;
- for(i=0;i<7;i++)
- sum+=temperature[i];
- average=(float)sum/7;
- printf("\n\nСредняя температура за неделю = %5.2f гр.\n", average);
- float minus_mass[6];//массив, в который будут заноситься разницы между средней температурой и температурой дня
- float nearest_day;
- int day;
- for(i=0;i<7;i++)
- minus_mass[i]=abs(average-(float)temperature[i]);
- nearest_day=minus_mass[0];
- for(i=1;i<7;i++)
- if(nearest_day>minus_mass[i])
- {nearest_day=minus_mass[i];
- day=i;
- }
- printf("\nДень, когда температура наиболее близка к средней - %d-й.", day+1);
- }
- int sort()//функция сортировки массива по убыванию
- {int tmp, sorted_temperature[7],j,num_mass[7];
- for(i=0; i<7; i++)
- sorted_temperature[i]=temperature[i];
- for(j=0;j<7;j++)
- for(i=0; i<6; i++)
- if(sorted_temperature[i]<sorted_temperature[i+1])
- {tmp=sorted_temperature[i];
- sorted_temperature[i]=sorted_temperature[i+1];
- sorted_temperature[i+1]=tmp;
- }
- printf("\n\nОтсортированная температура по убыванию:\n");
- for(i=0;i<7;i++)
- printf("\n %d", sorted_temperature[i]);
- }
- int spectrum()//функция, помогающая находить дни,когда температура попала введённый диапазон
- {float a,b;
- printf("\nВведите начало диапазона: ");
- scanf("%f",&a);
- printf("\nВведите конец диапазона: ");
- scanf("%f",&b);
- printf("\nДни, в которые температура попала в ваш диапазон:");
- for(i=0;i<7;i++)
- if(temperature[i]>=a && temperature[i]<=b)
- printf(" %d день ",i+1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement