Найти количество последовательности из подряд находящихся нулей - C (СИ)

  1. Заданные числа x1, x2, . . . , x25.Найти количество последовательности из подряд находящихся нулей


textual

Код к задаче: «Найти количество последовательности из подряд находящихся нулей - C (СИ)»

//Заданные числа x1, x2, . . . , x25.Найти количество последовательности из подряд находящихся нулей
#include <stdio.h>
 
int recount_zero(int *array, int len_array){
  int count=0, index, flag=0;
  for(index=0; index<=len_array; index++){
        
    if (array[index] && !flag) {
      flag=1;
      count++;
    }
    if (array[index] && flag)  continue;
    else{
      flag=0;        
    }
  }
  return count;
}
int main(){
  int array[25] = {0,1,2,3,4,5,6,7,8,9,0,0,0,0,1,2,3,4,5,0,0,1,2,3};
  printf("Count zerro collection: %d\n", recount_zero(array, sizeof(array)/sizeof(int)));
  return 0;
}

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

10   голосов, оценка 3.700 из 5



Похожие ответы
  1. Нужно что бы он считал количество заглавных буквC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include #include #include void main() {     char s[250];     int i, kol = 0, kol1 = 0, j;     puts("Enter string");     fgets(s, 250, stdin); ("%s", s);     i = 0;     j = 0;     for (i = 0; i

  1. Решить эту задачу используя простейшие структуры данных Определить количество слов, у которых первый и последний симво-лы совпадают между собой.

  1. Выдаёт ошибки. Задача: Условия: даны натуральные числа n, A1, A2, … An Найти: минимальное число записанное в чётную позицию последовательности и максимальное​ число записанное в нечётную позицию последовательности. Есть такой код. При проверке выдает два больших странных числа (1962 и -30374), хотя ввожу числа 12, 13... Пользуюсь Турбо Си. Если нужен скриншот, то закину.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 #include void main() { double a; // vvedennie 4isla int n=0; // koli4estvo 4isel v posledovatelnosti int i; // s4et4ik posledovatelnosty int min; // sredi 4etnih 4isel int max; // sredi ne4etnih 4isel   printf("Vvedite koli4estvo 4isel:"); scanf("%d",&n);   printf("Vvedite svoi 4isla:"); scanf("%d",&a);   for (i=1;i<=n;i++)  {  if (i%2==0)   {   if (mina)   {   max=a;   }  scanf("%d",&a);  } printf("Minimal - %d, maximum - %d",min,max); getch(); }

  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 60 61 62 63 64 65 66 #include #include #include #include #include #include #define N 500 #define MIN 80 int main(void) { setlocale (0, "rus"); int a[N],n,i, min=a[0], nummin=0, sum=0, nol=0, k; srand((unsigned)time(NULL)); printf ( " Определите характер заполнения: 1- автоматическое, 2- вручную"); printf("\n"); scanf("%d",&k);   switch(k) { case 1: { printf("vvedite n - "); scanf("%d",&n); for (i=0; ia[i])           {               printf("\n");               min=a[i];              nummin=i;}         for (i=nummin+1; i

  1. как обявить масим если заранее не известно сколько там будет значений?? СПС!

  1. Помогите, пожалуйста, только начал изучать язык, нашел в сборнике задач для паскаля такое задание : Во введенной пользователем строке посчитать количество букв «а» и «о» вывести их число на экран. Как его правильно выполнить?

  1. В чем ошибка? Вычислить среднее арифметическое элементов числовой последовательности, в записи значения которых содержится цифра 5. Если таких элементов не существует, то вывести 'NO'. Во входном потоке в первой строке задано число элементов целочисленной числовой последовательности N (N <= 100), во второй строке - записаны через пробел двухзначные значения элементов числовой последовательности. В выходной поток вывести единственное вещественное число с точностью три знака после запятой или 'NO'. Пример входного файла: 5 11 25 30 50 46 Пример выходного файла: 37.500 C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include int main() { double n,a,k=0,s=0; scanf("%lf",&n); for(double i=1;i<=n;i++) { scanf("%lf",&a);   if(a/10==5) { k++; }     {     s=a/k; } } printf("%.3lf",s); return 0; }Добавлено через 7 минут Вот так. В чем ошибка? C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include int main() { double n,a,k=0,s=0,r=0; scanf("%lf",&n); for(double i=1;i<=n;i++) { scanf("%lf",&a);   if(a/10==5) {    s+=a;       {     k++;       {       r=s/k;   }   }   } printf("%.3lf",r); return 0; } }

  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 #define _CRT_SECURE_NO_WARNINGS #include * #include struct sportsmen{     char FirstName[32];     int number[10], points[128]; }; void read(struct sportsmen *sportsmen, int i) {     for (int j = 0; j < i; j++){         printf("enter FirstName \n");         scanf("%s", &sportsmen[j].FirstName);         printf("enter number \n");         scanf("%i", &sportsmen[j].number);         printf("enter points \n");         scanf("%i", &sportsmen[j].points);     } } int main() {     setlocale(LC_ALL, "ukr");     struct sportsmen sportsmen[5];     read(sportsmen, 5);     FILE *f, *fdell;     if ((f = fopen("f.txt ", "wb")) == NULL)     {         printf("Помилка при відкритті файлу");         return 1;     }     } Нашел в интернете код 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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 #define _CRT_SECURE_NO_WARNINGS   #include #include #include #include   char c; struct sports { char fam[20]; int number, score; } spr; void inputdata(FILE *); void updatedata(FILE *); void printdata(FILE *); void deletedata(FILE *);   void inputdata(FILE *st) {     char ch;     st = fopen("file1.dat", "wb");     do     {         printf("\nВведите данные спортсмена через пробел - фамилия, номер, количество набранных очков.\n");         scanf("%s%d%d", spr.fam, &spr.number, &spr.score);         fwrite(&spr, sizeof(spr), 1, st);         printf("\nЗакончить ввод данных?\n");         ch = getch();     } while (ch != 'y');     fclose(st);     system("cls");     printf("Данные о спортсменах записаны!\n"); }   void printdata(FILE *st) {     system("cls");     int i;     st = fopen("file1.dat", "rb");     i = 1;     fread(&spr, sizeof(spr), 1, st);     while (!feof(st))     {         printf("\n%d. Фамилия спортсмена: %s, номер: %d, количество очков: %d", i, spr.fam, spr.number, spr.score);         fread(&spr, sizeof(spr), 1, st);         i++;     }     printf("\n\nНажмите любую клавишу для выхода в меню.\n");     getch();     system("cls"); }   void updatedata(FILE *st) {     char ch;     st = fopen("file1.dat", "ab");     do     {         printf("\nВведите данные о спортсмене через пробел - фамилия, номер, количество набранных очков.\n");         scanf("%s%d%d", spr.fam, &spr.number, &spr.score);         fwrite(&spr, sizeof(spr), 1, st);         printf("\nЗакончить добавление данных? y/n\n");         ch = getch();     } while (ch != 'y');     fclose(st);     system("cls"); }   void deletedata(FILE *st) {     system("cls");     char ch;     int i, n, min;     sports *p, temp;     st = fopen("file1.dat", "rb");     n = 0;     fseek(st, 0, 2);     n = ftell(st) / sizeof(sports);     fseek(st, 0, 0);     p = (sports *)malloc(n*sizeof(sports));     for (i = 0; i