Вывести на экран количество массивов, содержащих хотя бы одно число 3 - C (СИ)
Формулировка задачи:
Компоненты бинарного файла – целочисленные массивы, состоящие из 3 элементов. Вывести на экран количество массивов, содержащих хотя бы одно число 3.
#include<stdio.h> #include<conio.h> #define N 3 FILE *f; int prov(int *,int); int main(void) { int mas[N],i,kol=0,x; f=fopen("files.dat","rb"); if(f==NULL) { puts("error"); return 1; } while(fread(mas,sizeof(int),N,f)==1) { x=prov(mas,N); if(x==1) kol++; } printf("%d",kol); fclose(f); getch(); return 0; } int proverka(int *a,int n) { int i,j; for(i=0;i<n;i++) { if(a[i]==3) { break; return 1; } else continue; } return 0; }
Решение задачи: «Вывести на экран количество массивов, содержащих хотя бы одно число 3»
textual
Листинг программы
while(fread(mas,sizeof(int),N,f)==1) { x=prov(mas,N); if(x==1) kol++; } printf("%d",kol);
Объяснение кода листинга программы
- В начале программы объявляются переменные:
—
mas
- массив типаint
размеромN
для хранения чисел; —kol
- счётчик для подсчёта количества массивов, содержащих число 3. - Далее, в цикле
while
происходит чтение файла построчно до тех пор, пока не будет прочитана вся информация. Размер каждой строки файла определяется функциейfread
, которая принимает в качестве аргументов: —mas
- указатель на массив для чтения чисел; —sizeof(int)
- размер одного числа в байтах (4 для 32-битных систем); —N
- размер массива; —f
- указатель на файл. - В теле цикла происходит подсчёт количества чисел 3 в массиве с помощью функции
prov
, которая принимает в качестве аргументов: —mas
- указатель на массив чисел; —N
- размер массива. - Если число 3 присутствует в массиве, то значение счётчика
kol
увеличивается на единицу. - После окончания цикла, программа выводит на экран значение счётчика
kol
с помощью функцииprintf
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д