bap_kolos/main.c

99 lines
2.0 KiB
C
Raw Permalink Normal View History

2019-06-14 20:12:18 +02:00
/*
* 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 indeksowane od zera */
for (j = lewe - 1; j <= prawe - 1; j++)
liczba_skarbow += pudelka[j];
/* wyjście */
printf("%d\n", liczba_skarbow);
}
}