Pagini recente » Cod sursa (job #2520207) | Cod sursa (job #246908) | Cod sursa (job #94908) | Cod sursa (job #926446) | Cod sursa (job #2577401)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//Se da un sir A cu N numere intregi. Pentru fiecare subsecventa de lungime K sa se determine minimul,
//iar apoi sa se calculeze suma acestor minime.
//Pe prima linie a fisierului deque.in se afla numerele N si K cu semnificatia din enunt.
//Pe urmatoarele N linii se afla cate un numar intreg din sirul dat.
//In fisierul de iesire deque.out se va afla un singur numar intreg reprezentand suma ceruta.
void main()
{
int N, K;
char s[100];
FILE* f = fopen("deque.in", "r");
//numaram liniile fisierului pentru a stii cat spatiu alocam vectorului
int lin = 0;
while (!feof(f))
{
fgets(s, 10, f);
lin++;
}
rewind(f);
fscanf(f, "%d", &N);
fscanf(f, "%d", &K);
int* sir = (int*)malloc(sizeof(int) * lin);
for (int i = 0; i < lin - 1; i++)
{
fscanf(f, "%d", &sir[i]);
}
int min;
int sumin = 0;
/*for (int i = 0; i < lin - 1; i++)
printf("%d ", sir[i]);*/
for (int i = 0; i < N - K+1; i++)
{
min = sir[i];
for (int j = i; j < i + K; j++)
{
if (sir[j] < min)
min = sir[j];
}
sumin += min;
}
printf("\nSuma minimelor este: %d\n", sumin);
printf("%d", min);
}