Разместить переменные в массивы в соответствии с их типом - C (СИ)
Формулировка задачи:
не могу разобрать как реализовать это задание...
Вложение 802779
Решение задачи: «Разместить переменные в массивы в соответствии с их типом»
textual
Листинг программы
FILE* ff;
char a[100];
int b[100];
long c[100];
int i=0,j=0,k=0,type;
ff=fopen("file.txt","rt");
while(1)
{
fscanf("%d",&type);
if(feof(ff))
break;
switch(type)
{
case 0:
fscanf("%d",&a[i++]);
break;
case 1:
fscanf("%d",&b[j++]);
break;
case 2:
fscanf("%ld",&c[k++]);
}
}
Объяснение кода листинга программы
- Объявляются переменные: FILE* ff; char a[100]; int b[100]; long c[100]; int i=0,j=0,k=0,type;
- Открывается файл
file.txtдля чтения: ff=fopen(file.txt,rt); - Запускается бесконечный цикл while(1):
while(1)
{
- Считывается тип переменной:
fscanf(
%d,&type); - Проверяется, достигнут ли конец файла: if(feof(ff)) { break; }
- В зависимости от типа переменной считывается значение:
switch(type)
{
case 0:
fscanf(
%d,&a[i++]); break; case 1: fscanf(%d,&b[j++]); break; case 2: fscanf(%ld,&c[k++]); break; } }
- Считывается тип переменной:
fscanf(
- Значения переменных сохраняются в массивах в соответствии с их типом.
- После завершения цикла и закрытия файла, значения переменных могут быть использованы для дальнейшей обработки или анализа данных.