Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
WarHunter
0 / 0 / 0
Регистрация: 17.09.2017
Сообщений: 14
1

Распечатать номера дней с температурой выше заданной; отсортировать их по возрастанию

12.11.2017, 23:24. Просмотров 320. Ответов 3
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
int main()
{
    int a;
    scanf("%d", &a);
    switch(a)
    case 1:
{
    int temp [14]={23,-12,3,-4,-5,6,7,24,-1,16,11,12,13,14,15};
    int bad=0, i;
    for(i=0; i<14; i++)
    if(temp[i]<0)
    {
        bad++;
    }
    printf("%d", bad);
}
{
    switch(a)
    case 2:
{
    int temp [14]={23,-12,3,-4,-5,6,7,24,-1,16,11,12,13,14,15};
    int middle1, middle2;
    middle1=temp[0]+temp[1]+temp[2]+temp[3]+temp[4]+temp[5]+temp[6]+temp[7]+
    temp[8]+temp[9]+temp[10]+temp[11]+temp[12]+temp[13];
    middle2=middle1/14;
    printf("%d", middle2);
}
}
{
    switch(a)
    case 3:
{
    int temp [14]={23,-12,3,-4,-5,6,7,24,-1,16,11,12,13,14,15};
    int a, i, day;
    scanf("%d",a);
    
 
 
 
 
}
}
}
Добавлено через 1 минуту
Извиняюсь, за столь медвежью услугу, которую прошу, но не могу никак разобраться с заданиями. Буду рад, если объясните, как выполнить.

Добавлено через 30 минут
UPD: ПРОСЬБА ПОМОЧЬ ТОЛЬКО С СОРТИРОВКОЙ!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2017, 23:24
Ответы с готовыми решениями:

В массиве записан курс евро за 14 дней. Распечатать номера дней с курсом в интервале от е1 до е2. Значения е1 и е2 вводятся с клавиатуры
В массиве записан курс евро за 14 дней. Распечатать номера дней с курсом в интервале от е1 до е2....

Подсчитать, сколько в марте было дней с температурой ниже, выше и равной 0
подсчитать сколько дней в марте было дней с температурой ниже, выше и равной 0?

Найти номера 3ех подряд идущих дней с самой жаркой температурой
Дана температура воздуха за каждый день августа. Найти номера 3ех подряд идущих дней с самой жаркой...

Отсортировать элементы матрицы выше главной диагонали по возрастанию
отсортировать элементы выше главной диагонали по возрастанию. что-то не работает( for i:=1 to n...

Отсортировать элементы строк матрицы, находящихся выше главной диагонали, по возрастанию
в матрице 10на 10 отсортировать элементы строк находящихся выше главной диагонали по возрастанию

3
stake-k26
886 / 518 / 384
Регистрация: 25.04.2016
Сообщений: 1,500
13.11.2017, 09:26 2
WarHunter, что получает программа и что именно она должна сортировать?

Кстати
Цитата Сообщение от WarHunter Посмотреть сообщение
middle1=temp[0]+temp[1]+temp[2]+temp[3]+temp[4]+temp[5]+temp[6]+temp[7]+ temp[8]+temp[9]+temp[10]+temp[11]+temp[12]+temp[13];
Не лучше ли заменить на:
C
1
2
3
int middle1 = 0;
for(int i = 0; i<14; i++)
    middle1 += temp[i];
Кроме того, вы три раза объявляете один и тот же массив:
int temp [14]={23,-12,3,-4,-5,6,7,24,-1,16,11,12,13,14,15};

почему бы не объявить его в самом начале функции main, чтобы он был доступен для всех кейсов? Например:
C
1
2
3
4
5
6
7
int main()
{
    int a;
    int temp [14]={23,-12,3,-4,-5,6,7,24,-1,16,11,12,13,14,15};
    /* ваш код */
    return 0;
}
Добавлено через 7 минут
По поводу сортировки, вот например, небольшая программка, которая сортирует массив целых чисел по возрастанию

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* ************************************************************************
 * Генерирует массив случайных чисел и сортирует его методом Шелла
 * ***********************************************************************/
 
/* прототипы функций */
void FillArray (int * a, int max);                  // заполянем  массив
void ShellSort (int * v, int max);                  // сортируем массив
void PrintArray (int m[], int max);                 // выводим на экран
 
int main (void)
{
    int z = 24;    // в Windows придется заменить на #define z 24
    int array[z];
 
    // заполняем массив случайными значениями
    FillArray(array, z);
    // выводим получившийся массив на экран
    PrintArray(array, z);
 
    // сортируем массив методом Шелла
    ShellSort(array, z);
 
    // выводим отсортированный массив на экран
    PrintArray(array, z);
 
    exit(0);
}
//-------------------------------------------------------------------------
//                          Заполняем массив случайными значениями
//-------------------------------------------------------------------------
void FillArray (int * a, int max)
{
    srand(time(NULL));                      // новая точка rnd
    int mx = 99;                                // максимум rnd
    int i;
    for (i=0; i<max; i++)
        a[i] = 1 + rand() %mx;
    return;
}
//-------------------------------------------------------------------------
//                          Cортировка методом Шелла (1959 год)
//-------------------------------------------------------------------------
void ShellSort (int * v, int max)
{
    if (max < 2) return;
    int gap, temp;
    int i, j;
    for (gap = max/2; gap > 0; gap /= 2)
    {
        for (i = gap; i < max; i++)
        {
            for (j = i-gap; j >= 0 && v[j] > v[j+gap]; j -= gap)
            {
                temp = v[j];
                v[j] = v[j+gap];
                v[j+gap] = temp;
            }
        }
    }
}
//-------------------------------------------------------------------------
//                                  Выводим массив на экран
//-------------------------------------------------------------------------
void PrintArray (int m[], int max)
{
    int i;
    for (i=0; i<max; i++)
        printf("%-3d", m[i]);
    printf("\n");
    return;
}
0
COKPOWEHEU
2008 / 1227 / 279
Регистрация: 09.09.2017
Сообщений: 4,990
13.11.2017, 09:56 3
Цитата Сообщение от WarHunter Посмотреть сообщение
int a, i, day;
scanf("%d",a);
Грубая ошибка. Впрочем, компилятор должен на нее указать
0
stake-k26
886 / 518 / 384
Регистрация: 25.04.2016
Сообщений: 1,500
13.11.2017, 09:59 4
COKPOWEHEU, там вообще кусок кода не дописан, может планируется что-нибудь с ним в будущем сделать..
0
13.11.2017, 09:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2017, 09:59

Отсортировать номера домов по возрастанию количество жильцов
Дано два массива заполненных случайным образом. Первый массив то 1 до 20 включительно, содержит...

Отсортировать файл, содержащий номера символов, по возрастанию
Помогите с задачкой, как отсортировать файл содержащий номера символов по нарастанию?Программа...

Определить количество дней с самой низкой температурой
Известны данные о температуре воздуха в течении месяца. Определить сколько раз дней была самая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.