Определение наименьшего из заданных чисел - C (СИ)

  1. Программа сравнивает между собой 5 чисел не более 6 раз и выводить самое малое.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 #include <stdio.h> #include <iostream> #include <stdlib.h>   using namespace std;   int main() {     float f[5];     float ft[4];     float fg[2];     float t;     float res;       cout << "Vvedit' chusla" << endl;       for (int i = 0; i < 5; i++)     {         cout << i + 1 << "  - ";         cin >> f[i];     }       f[0] < f[1] ? (ft[0] = f[0], fg[0] = f[1]): (ft[0] = f[1], fg[0] = f[0]);     f[2] < f[3] ? (ft[1] = f[2], fg[1] = f[3]): (ft[1] = f[3], fg[1] = f[2]);     fg[0] < fg[1] ? (ft[2] = fg[0], t = ft[1], ft[1] = ft[0], ft[0] = t) : (ft[2] = fg[1]);     ft[3] = f[4];     if (ft[0] < ft[2])     {         if (ft[2] < ft[3])         {             res = ft[2];         }         else         {             if (ft[3] < ft[0])                 res = ft[0];             else                 res = ft[3];         }     }     else     {         if (ft[0] < ft[3])             res = ft[0];         else         {             if (ft[3] < ft[2])                 res = ft[2];             else                 res = ft[3];         }     }       cout << "Result - " << res << endl;     system ("pause");           return 0; }  


textual

Код к задаче: «Определение наименьшего из заданных чисел - C (СИ)»

#include <stdio.h>
 
#define min(a, b) ( (a) < (b) ? (a) : (b) )
 
int main(void) {
    int arr[5], i;
    
    for ( i = 0; i < 5; ++i ) {
        printf("Value #%d: ", i + 1);
        scanf("%d", &arr[i]);
    }
    
    printf("Minimal value is: %d\n", min(min(min(arr[0], arr[1]), min(arr[2], arr[3])), arr[4]));
    
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

13   голосов, оценка 4.000 из 5



Похожие ответы
  1. помогите разобраться с этим заданием. Нужно дополнить код функциями, чтобы выполнялась задача: определение количества заданного символа в заданной строкеC1 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 #include #include   int how_many(char ch, char sentence[]) {     int count = 0;     int position;       // **********************************************************************             // **********************************************************************       return count; }     void clean_up(char ch) {     while (ch != EOF && ch != '\n')         ch = getchar(); }     int main() {     char ch;     char sentence[1024];       do {                 printf("Enter a character: ");                   ch = getchar();             clean_up(ch);                   if (ch < ' ' || ch > '~') {             printf("That was not a legal character. Try again.\n");         }         } while (ch < ' ' || ch > '~');           printf("Enter a sentence: ");           fgets(sentence, 1024, stdin);           printf("The character '%c' is in the sentence %d times.\n", ch, how_many(ch, sentence));       return 0; }

  1. Вычислить значение наименьшего элемента для каждого столбца массива N <= 7, M <= 5(массив должен быть реализован через malloc)

  1. Я пытаюсь разбить список на два, ну вы все можете увидеть сами:C1 2 3 4 5 6 7 8 9 10 head1 = head; p = head1;     i=1;     while (i<(n/2))  //4/2 == 2;  3/2 == 1,5 = 2;     {         p = p->next;         i++;     }     head2 = p->next;     p->next =     NULL;Вот только выводит у меня в случае нечетного кол-ва элементов первый список на 1 короче второго, а надо бы наоборот. Что не так здесь записано? Даже на бумажке проверил, что я упустил? Вывод списков у меня такого вида:C1 2 3 4 5 6 7 p = head1;     while (p!=NULL)  //такое произойдет, когда уже выведется последний элемент, и указатель упрется в грань     {         printf("->%.2f \n",p->content);         p = p->next;     }     printf("\n");Структура:C1 2 3 4 5 typedef struct list {     float         content;     struct list   *next; } list;Переменные:C1 2 3 4 5 6 int     n; int     i; short size_list = sizeof(list); list *head; list *head1; list *head2;

  1. Прошу натолкнуть на мысль как решить данную задачу: "Дана строка. Необходимо определить количество слов, которые слева и справа читаются одинаково (палиндромы). Слова разделены пробелами." Из условий для сдачи: доп. массивы - нельзя, функции из - нельзя. В моём представлении, нужно как-то разбить на лексемы без strtok и далее в лексемах сравнить символы с кодами ASCII? И можно ли, когда строку с помощью strtok разбил на лексемы и внёс их в массив указателей, далее каждый указатель на строку(полученную лексему) внести в новый массив, чтоб в массиве строка была посимвольно сохранена? Пример: была строка "Скоро сдача работы" -> далее стал массив из 4 указателей -> затем первый указатель, ктр косвенно адресует строку "Скоро", как-то внести в новый массив посимвольно. Заранее спасибо. 1 курс заочки, могу изъясняться как колхоз, т.к. до этого программирование ассоциировалось с тетрисом.

  1. Приветствую уважаемые программисты! Я только начал изучать СИ, с нуля. Мне нужно написать следующую программу: Ввод = все что угодно. Вывод = "Вы ввели ... , это - (целое число, символ, массив, с плавающей запятой и т.д.)" Как это вообще возможно сделать, если в операторе объявления переменной я обязан указать ее тип? Более того я догадываюсь, что есть несколько способов решить данную задачу. подскажите что - нибудь? З.Ы. Приношу извинения, если вопрос уже поднимался. Я вроде не нашел ответа, но вдруг он уже где-то был...

  1. На страницах форума нашел программу на паскале, мне нужна помощь в ее переводе на язык С. Программа должна считывать введенный день , а выводить следующий, учитывая високосные года. Еще должна выводить что это за день недели.(временные сроки программы : 1940-2040 года)

  1. Здравствуйте. Я перешёл на MVS 2015 и при открытии проекта у меня выдаёт следующие ошибки: Скрин - Код Ошибка C2371 int32_t: переопределение; различные базовые типы Ошибка C2371 uint32_t: переопределение; различные базовые типы Строки:C1 2 typedef int                int32_t; typedef unsigned int       uint32_t; Если же я попытаюсь изменить "stdint.h", то: Код Ошибка при попытке разрешить изменение файла stdint.h. Как мне быть?

  1. Написать следующие функции в двух вариантах: с использованием индексов и указателей. В строке string1 определяет последнее вхождение в нее строки string2. Возвращает указатель на начало вхождения. В случае неуспеха возвращается -1. const char* rat(const char* string1, const char* string2) Функции типа strstr использовать НЕЛЬЗЯ! С комментариями, пожалуйста!

  1. Дан одномерный массив. Определить минимальное счастливое число среди чисел с четным количеством цифр. Счастливое число - это число, у которого сумма цифр первой половины числа равна сумме второй половины.

  1. Задание. Инициализировать целочисленный массив из 10 псевдослучайных элементов. На экран вывести номер наибольшего и наименьшего элемента. Моя попытка оказалась более чем неудачной, признаю: C1 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 #include #define N 10     main() {     int A[N], i, a, b, max, min;     srand(time(NULL));     for (i = 0, i < N, i++)     {         A[i] = rand();     }     min = 0;     for (a = 1; a < N; a++)         if A[a] < A[a-1]     {         min = a;     }     max = A[0];     for (b = 1; b < N; b++)         if A[b] > A[b - 1]         {             max = b;         }     printf("%d\n%d", max, min);     } Старался делать все логично, но не сразу получается. Возможно неправильно делал самовыдуманную конструкцию (for.. и дальше условный оператор). Объясните, пожалуйста, ошибки. Visual studio говорит следующее:1>------ Сборка начата: проект: Массив, Конфигурация: Debug Win32 ------ 1> Умножить на 2.c 1>c:\users\XXX.c(8): warning C4013: srand: нет определения; предполагается "extern" с возвратом типа "int" 1>c:\users\XXX.c(8): warning C4013: time: нет определения; предполагается "extern" с возвратом типа "int" 1>c:\users\XXX.c(9): error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 1>c:\users\XXX.c(11): warning C4013: rand: нет определения; предполагается "extern" с возвратом типа "int" 1>c:\users\XXX.c(15): error C2061: синтаксическая ошибка: идентификатор "A" 1>c:\users\XXX.c(19): error C2065: A: необъявленный идентификатор 1>c:\users\XXX.c(19): error C2109: для индекса требуется массив или указатель 1>c:\users\XXX.c(20): error C2059: синтаксическая ошибка: for 1>c:\users\XXX.c(20): error C2143: синтаксическая ошибка: отсутствие "{" перед "<" 1>c:\users\XXX.c(20): error C2059: синтаксическая ошибка: < 1>c:\users\XXX.c(20): error C2143: синтаксическая ошибка: отсутствие "{" перед "++" 1>c:\users\XXX.c(20): error C2059: синтаксическая ошибка: ++ 1>c:\users\XXX.c(20): error C2059: синтаксическая ошибка: ) 1>c:\users\XXX.c(25): error C2143: синтаксическая ошибка: отсутствие ")" перед "строка" 1>c:\users\XXX.c(25): error C2143: синтаксическая ошибка: отсутствие "{" перед "строка" 1>c:\users\XXX.c(25): error C2059: синтаксическая ошибка: строка 1>c:\users\XXX.c(25): error C2059: синтаксическая ошибка: ) 1>c:\users\XXX.c(28): error C2059: синтаксическая ошибка: } ========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========Что обозначает в ошибках слово "строка"? СпасибоДобавлено через 8 минут Одну из ошибок нашёл - точки с запятыми вместо запятых в строке 9 C1 for (i = 0; i < N; i++)