Определить количество чисел после удаления которых числовая последовательность станет монотонной. Работа с файлом - C (СИ)
Формулировка задачи:
Добрый день! Не так давно, к сожалению, изучаю язык, могу не многое но нужно реализовать программу а как не знаю. Помогите кто чем может. Как реализовать следующую программу: В строках текстового файла записаны числа, числа разделены пробелами и символами перевода строки. Необходимо определенное количество чисел после удаления которых числовая последовательность станет монотонной. Из работы с файлами могу только:
А как работать с данными файла я не знаю. Я так понимаю их можно поместить в массив и далее ими как то манипулировать. В общем помогите кто чем может!
#include <stdio.h> #include <conio.h> #include <string.h> main() { char ch, sl[50]; FILE *pf ; // Указатель на файлы pf=fopen("new1.txt","r"); // Открытие файла pf для чтения rewind(pf); // Возврат указателя на начало файла pf fgets(sl,50,pf); // Чтение из файла pf строки в переменную sl printf("%s\n",sl); // Вывод строки sl на дисплей fclose(pf); // Закрытие файлов getch(); }
Народ помогите хоть словом, я вообще в тупике...(((
Решение задачи: «Определить количество чисел после удаления которых числовая последовательность станет монотонной. Работа с файлом»
textual
Листинг программы
#include <stdio.h> #define N 20 int A[N] = { 2, 1, 5, 7, 3, 4, 10, 14, 1, 15, 44, 35, 11, 18, 5, 3, 2, 7, 8, 40 }; char x[N]; main() { int i, j, ax, count; memset(x, 0, N); for(i=0; i<N; i++) { if (x[i]) continue; count = 1; printf(" %d", A[i]); ax = A[i]; for(j=i+1; j<N; j++) { if (A[j] <= ax) continue; printf(" %d", A[j]); x[j] = 1; ax = A[j]; count++; } printf(" =%d\n", count); } }
Объяснение кода листинга программы
В этом коде определен массив A, содержащий числа, и массив x, который изначально содержит только нули. Затем в цикле перебираются элементы массива A. Если текущий элемент уже был помечен как 0 в массиве x, то его пропускают. В противном случае, считают количество чисел, меньших или равных текущему, и выводят текущее число и его количество на экран. После этого помечают все числа, меньшие или равные текущему, в массиве x единицами. Код продолжается до тех пор, пока все элементы массива A не будут обработаны.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д