99 lines
2.0 KiB
C
99 lines
2.0 KiB
C
|
/*
|
||
|
* Kolokwium: Algorytmy i Struktury Danych
|
||
|
*
|
||
|
* Zadanie: Pudełeczka
|
||
|
*
|
||
|
* Autor: Artur Tamborski
|
||
|
* Numer Indeksu: 449376
|
||
|
* Numer Grupy: 7
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int main(void)
|
||
|
{
|
||
|
/* zmienne chwilowe, tylko dla pętli */
|
||
|
int i, j;
|
||
|
|
||
|
/* zmienne wejściowe */
|
||
|
int num_pudelka;
|
||
|
int num_pytania;
|
||
|
int lewe, prawe;
|
||
|
int liczba_skarbow;
|
||
|
int pudelka[1000];
|
||
|
|
||
|
/* liczba pudełek */
|
||
|
scanf("%d", &num_pudelka);
|
||
|
|
||
|
/* sprawdzanie wartości */
|
||
|
if (num_pudelka < 1)
|
||
|
{
|
||
|
puts("Za mało pudełek!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
if (num_pudelka > 1000)
|
||
|
{
|
||
|
puts("Za dużo pudełek!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/* ile skarbów jest w danym pudełku */
|
||
|
for (i = 0; i < num_pudelka; i++)
|
||
|
scanf("%d", &pudelka[i]);
|
||
|
|
||
|
/* liczba pytań Zosi */
|
||
|
scanf("%d", &num_pytania);
|
||
|
|
||
|
/* sprawdzanie wartości */
|
||
|
if (num_pytania < 1)
|
||
|
{
|
||
|
puts("Za mało pytań!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
if (num_pytania > 1000)
|
||
|
{
|
||
|
puts("Za dużo pytań!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/* Zosia wskazuje pudelka */
|
||
|
/* a my jednoczesnie odpowiadamy */
|
||
|
for (i = 0; i < num_pytania; i++)
|
||
|
{
|
||
|
/* zeruję bo z każdym wskazaniem ta wartość jest inna */
|
||
|
liczba_skarbow = 0;
|
||
|
|
||
|
/* wczytaj wskazanie Zosi */
|
||
|
scanf("%d %d", &lewe, &prawe);
|
||
|
|
||
|
/* sprawdzanie wartości */
|
||
|
if (lewe < 1)
|
||
|
{
|
||
|
puts("pierwsze wskazanie jest za małe!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
if (lewe > prawe)
|
||
|
{
|
||
|
puts("wskazanie jest niepoprawne!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
if (prawe > num_pudelka)
|
||
|
{
|
||
|
puts("drugie wskazanie jest za duże!");
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/* - 1 bo zosia wskazuje indekując od jeden a
|
||
|
* tablice są indeksowane od zera */
|
||
|
for (j = lewe - 1; j <= prawe - 1; j++)
|
||
|
liczba_skarbow += pudelka[j];
|
||
|
|
||
|
/* wyjście */
|
||
|
printf("%d\n", liczba_skarbow);
|
||
|
}
|
||
|
}
|