Informatică, întrebare adresată de TDRBOSS, 9 ani în urmă

Subsecvență crescătoare (clasa a 5-a)

Notă: rezolvaţi această problemă fără a folosi tablouri (vectori).

Denumim subsecvenţă crescătoare o subsecvenţă de numere unul după altul care au proprietatea că fiecare număr este mai mare sau egal cu cel din-naintea lui.
Cerinţă

Dată o secvenţă de n numere să se calculeze şi afişeze lungimea celei mai lungi subsecvenţe crescătoare.
Date de intrare

Fişierul de intrare subcresc.in conţine pe prima linie numărul n de numere. Pe a doua linie conţine cele n numere separate prin spaţii.
Date de ieşire

În fişierul de ieşire subcresc.out veţi scrie un singur număr, lungimea celei mai lungi subsecvenţe crescătoare.
Restricţii

1 ≤ n ≤ 1000
numerele din secvenţă sînt mai mici ca 100

Răspunsuri la întrebare

Răspuns de yusy
2
#include <stdio.h>
int main() {  FILE *fin, *fout;  fin = fopen("subcresc.in", "r");  fout = fopen("subcresc.out", "w");  int n, a, b, l, maxl, i;  fscanf(fin, "%d%d", &n, &a);  l = 1;  maxl = 1;  for (i = 1; i < n; i++) {    fscanf(fin, "%d", &b);    if (a <= b) {      l++;      if (l > maxl)        maxl = l;    }    else      l = 1;    a = b;  }  fprintf(fout, "%d", maxl);  return 0;}

TDRBOSS: mersi
Alte întrebări interesante