Лабораторная работа Задание Написать программу, выполняющую один раз ввод последовательности
Скачать 16.81 Kb.
|
Али шериф Ашраф; Группа 3530904/10002; Вариант 1; Лабораторная работа 1. Задание: Написать программу, выполняющую один раз ввод последовательности целых чисел, признаком конца которой будет ввод числа ноль (ноль не считается членом последовательности) и подсчитывающую количество чисел массива, которые больше предыдущего в массиве. Массив неизвестной длины вводится, конечным числом его является 0; В программе не будет использован непосредственно массив, так как он неизвестной длины и это вызывает определенные сложности, чтобы записать этот массив в память. В начале программы мы записываем в переменную а первое число массива. С помощью цикла while будет постоянно обновляться значение переменной b (в нее будут записываться следующие значения массива). Условием цикла будет ненулевое значение b. При условии, что а меньше b, будет увеличиваться на 1 счетчик k, который равен нулю в самом начале программы. Также счетчик n считает длину массива, если он будет равен 0 или 1, k становится равным нулю, так как массива либо нет, либо в нем одно значение, что не подходит условиям. Это исключает возможность ошибочных ответов. В конце программы выводится значение k. Программа протестирована на различных длинах массива. При вводе нуля программа выводит: «Answer: 0» При вводе массива из одного числа (например «23 0») программа выводит: «Answer: 0». При вводе нормального массива (например «234 1 54 98 98 65 76 0») программа выводит: «Answer: 3». Ответ правильный. Код программы: #include using namespace std; int main() { int n, a, b, k; k=0; cout << "Write array:" << " "; cin >> a; b=a; n=0; while(b!=0) { cin >> b; if(b > a) { k++; } a = b; n++; } if(n<2){ k=0; } cout << "Answer:"<< " "; cout << k << " "; return 0; } |