Запретить ввод отрицательного числа при вводе количества элементов массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

как сделать так,что бы при вводе кол-ва эллементов массива нельзя было ввести отрицательное число
#include<stdio.h>
#include<windows.h>
#include<locale.h>
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int *mas1, *mas2, n, i, sum, num, k;
        puts("Введите размер массивов ");
        scanf_s("%d", &n);
        mas1 = (int*)malloc(n*sizeof(int));//выделяет память массиву,определяет размер в байтах
        mas2 = (int*)malloc(n*sizeof(int));
    sum = 0;
    num = 0;
    for (i = 0; i < n; i++)
    {
        fflush(stdin);
        printf("\nВведите %d элемент массива 1 ",i+1);
        if (!scanf_s("%d", &mas1[i]))
        {
            puts("Вы  ввели неверное значение");
            i--;
        }
    }
    for (i = 0; i < n; i++)
    {
        fflush(stdin);
        printf("\nВведите %d элемент массива 2 ", i + 1);
        if (!scanf_s("%d", &mas2[i]))
        {
            puts("Вы  ввели неверное значение");
            i--;
        }
    }
    puts("Вывод индексов массивов(Массив1 - массив 2): ");
    for (i = 0; i < n; i++)
    {
        for (k = 0; k < n; k++)
        {
            if ((mas1[i] * mas2[k]) > 10)
            {
                printf(" %d - %d ; ", i, k);
                num++;
                sum += (mas1[i] * mas2[k]);
            }
        }
    }
    free(mas1);
    free(mas2);
    printf("\nКолличество пар - %d \nСумма пар - %d\n", num, sum);
    system("pause");
    return 0;
}

Решение задачи: «Запретить ввод отрицательного числа при вводе количества элементов массива»

textual
Листинг программы
do
{
    puts("Введите размер массивов ");
    scanf("%d", &n);
} while (n <= 0);

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя ввод размера массива с помощью функции scanf().
  2. Введенное значение сохраняется в переменной n типа int.
  3. С помощью оператора while программа проверяет, является ли значение переменной n меньше или равным нулю.
  4. Если это условие истинно, то программа повторно запрашивает ввод размера массива.
  5. Если это условие ложно, то программа продолжает работу с введенным значением размера массива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы