Запретить ввод отрицательного числа при вводе количества элементов массива - 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);
Объяснение кода листинга программы
- Программа запрашивает у пользователя ввод размера массива с помощью функции scanf().
- Введенное значение сохраняется в переменной n типа int.
- С помощью оператора while программа проверяет, является ли значение переменной n меньше или равным нулю.
- Если это условие истинно, то программа повторно запрашивает ввод размера массива.
- Если это условие ложно, то программа продолжает работу с введенным значением размера массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д