...
This commit is contained in:
commit
e9bbac8249
42
Makefile
Normal file
42
Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
TARGET = $(notdir $(CURDIR))
|
||||
|
||||
SRCEXT = .c
|
||||
INCEXT = .h
|
||||
OBJEXT = .o
|
||||
|
||||
SRCDIR = .
|
||||
INCDIR = .
|
||||
OBJDIR = .
|
||||
|
||||
CC = gcc
|
||||
LD = gcc
|
||||
|
||||
LDFLAGS = -lm -lpthread
|
||||
CCFLAGS = -std=gnu99 -g -ggdb -Og -Wall -Wextra -pedantic
|
||||
|
||||
SRCTREE = $(shell find $(SRCDIR) -type d)
|
||||
INCS = $(shell find $(INCDIR) -type f -name '*$(INCEXT)')
|
||||
SRCS = $(shell find $(SRCDIR) -type f -name '*$(SRCEXT)')
|
||||
OBJTREE = $(foreach D,$(SRCTREE),$(shell echo $(D) | sed 's/$(SRCDIR)/$(OBJDIR)/'))
|
||||
OBJSTMP = $(foreach F,$(SRCS),$(shell echo $(F) | sed -e 's/$(SRCDIR)/$(OBJDIR)/'))
|
||||
OBJS = $(foreach O,$(OBJSTMP),$(shell echo $(O) | sed -e 's/\$(SRCEXT)/\$(OBJEXT)/'))
|
||||
|
||||
all: $(TARGET)
|
||||
@echo Done.
|
||||
|
||||
run: $(TARGET)
|
||||
@./$(TARGET)
|
||||
|
||||
clean:
|
||||
@rm -r $(TARGET) $(OBJS) $(OBJDIR) 2>/dev/null || true
|
||||
|
||||
$(TARGET): $(OBJS) | $(OBJDIR)
|
||||
@$(LD) $(LDFLAGS) -L$(OBJDIR) -o $@ $^
|
||||
|
||||
$(OBJS): $(OBJDIR)/%$(OBJEXT) : $(SRCDIR)/%$(SRCEXT) | $(OBJDIR)
|
||||
@$(CC) $(CCFLAGS) -I$(INCDIR) -c -o $@ $?
|
||||
|
||||
$(OBJDIR):
|
||||
@mkdir -p $(OBJDIR) $(OBJTREE)
|
||||
|
||||
.PHONY: all run clean
|
98
main.c
Normal file
98
main.c
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user