Задание 2.
Вариант №4
Задание 1.
Доработать программу, которая проверяет, есть ли в числе повторяющиеся цифры (см. лекции), чтобы она выводила, какие числа повторяются.
Исходный код программы:
#include <stdio.h>
#include <locale.h>
int main (){
int digits_repeat[10] = {0};
char ch;
int n;
int kol = 0;
setlocale(LC_ALL,"Rus");
printf("Введите число:\n");
do
{
scanf("%c", &ch);
n = ch - '0';
if (n > 0)
digits_repeat[n]++;
}
while (n > 0);
for (int i = 0; i < 10; ++i)
if (digits_repeat[i] > 1)
printf("Цифра %d повторяется %d раз\n", i, digits_repeat[i]);
return 0;
}
Результат работы программы:
Задание 2.
Написать программу по обработке одномерных массивов в соответствии с вариантом задания. Предусмотреть возможность ввода даннях как с клавиатуры, так и с использованием функции rand().
Исходный код программы:
/********************************************* */
/* Лабораторная работа №7 */
/* Реализация программ с меню */
/* Выполнил студент гр. 516 Дунайцев Н.Р */
/**********************************************/
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <conio.h>
typedef int Bool;
int main ()
{
int cmd, n;
int massive [20]= {0};
setlocale (LC_ALL,"Rus");
printf("Введите количество ячеек в массиве:\n");
scanf("%d",&n);
do{
printf("Нажмите 1 и ввод если хотите ввести случайные числа в массив.\n");
printf("Нажмите 2 и ввод если хотите ввести данные в массив самостоятельно.\n");
scanf ("%d",&cmd);
switch(cmd){
case 1:
for(int i = 0; i < n; i++)
massive[i] = rand()%200-100;
break;
case 2:
for (int i = 0; i < n; ++i)
scanf("%d", &massive[i]);
break;
default: printf("Error. Try again\n");
}
}
while(cmd != 1 && cmd != 2);
int first = 0;
int second = 0;
int sum = 0;
for (int i = 0; i < n; ++i)
if (massive[i] >= 0)
{first = i;printf("%d\n",massive[first]);break;}
for (int i = n-1; i >= 0; i--)
if (massive[i] >= 0)
{second = i;printf("%d\n",massive[second]);break;}
for (int i = first;i<=second; ++i)
sum += massive[i];
for (int i = 0; i < n; ++i)
printf("%d ", massive[i]);
printf("\n");
printf("sum: %d\n", sum);
getch();
}
Результат работы программы:
Пример 1:
Пример 2:
Выводы:
Изучили возможности язика С по организации упорядоченных структур даннях, овладели основними принципами обработки одномерных массивов.