Lista de probleme 25

Filtrare

#3187 RATC2

Se dau două numere n p și o listă de n elemente cu urcările în autobuz a mai multor persoane a căror structura este prenume nume bilet_platit, fiecare intrare fiind plasată pe câte o linie. Câmpurile prenume și nume sunt șiruri de caractere, iar bilet_platit este un număr care poate fi 0 sau 1; 0 dacă persoana respectivă nu a plătit biletul sau 1 dacă a plătit biletul. Pentru fiecare bilet neplătit se va contoriza o penalizare persoanei.

Se cere :

a) Prenumele, numele și numărul de penalizări al persoanei care are număr maxim de penalizări. Dacă există mai multe persoane cu număr maxim de penalizări se cere afișarea persoanei care apare prima în ordine alfabetică.
b) Ordonarea listei de persoane descrescător după numărul de penalizări, la număr de penalizări egale, crescător după prenume, la prenume identice, crescător după nume.

#2802 Clasa

Se citește de la tastatură numărul n și un număr p cu valoarea 1 sau 2 și apoi n șiruri de tip nume prenume media1 media2 media3 separate prin spații.

Pentru p=1, se va afișa numărul elevilor care au media generală mai mare sau egală decât media clasei.

Pentru p=2, se va afișa pe primul rând media clasei și pe următoarele n rânduri, numele, prenumele și media generală a fiecărui elev, separate printr-un singur spațiu, sortat descrescător după medie; la medii egale se sortează crescător după nume, iar la nume egale crescător după prenume.

#1460 serbare

La o serbare sunt n grupe de copii care poartă p tipuri de uniforme. Scrieţi un program care să afişeze pe ecran tipurile de uniforme în ordinea descrescătoare a numărului total de copii ce poartă fiecare tip de uniformă. Afişarea se va face pe o singură linie, valoriile fiind separate printr-un spaţiu.

#2004 ore

Se consideră două evenimente a căror durată este exprimată fiecare prin câte trei numere naturale: ore (h), minute (m) şi secunde (s). Să se scrie în fișierul de ieșire: a) pe primele două linii, duratele în formatul h: m: s; b) pe următoarele două linii, duratele exprimate în secunde, corespunzătoare fiecărui eveniment, pe rânduri separate; c) pe următoarea linie suma obţinută din adunarea duratelor celor două evenimente, exprimată în ore, minute, secunde, în formatul h: m: s.

Subiecte Atestat Informatica - Bucuresti

Se citește numărul n și apoi n articole cu structura prenume nume salariu vârstă funcție număr_de_telefon email. Fiecare articol este plasat pe câte o linie, câmpurile sale fiind separate prin câte un spațiu. Câmpurile salariu și vârstă conțin numere naturale, celelalte conțin șiruri de caractere.

Se citește apoi un număr natural p cuprins între 1 și 7 și un caracter c care poate fi + sau -.

Se cere ordonarea celor n articole în funcție de p și c, astfel:

  • dacă p=1, ordonarea se face după prenume; dacă p=2, ordonarea se face după nume; dacă p=3, ordonarea se face după salariu; dacă p=4, ordonarea se face după vârstă; dacă p=5, ordonarea se face după funcție; dacă p=6, ordonarea se face după număr_de_telefon; dacă p=7, ordonarea se face după email;
  • dacă c are valoarea +, ordonarea va fi crescătoare, iar dacă c are valoarea -, ordonarea va fi descrescătoare;
  • dacă două articole au aceeași valoare a câmpului în raport cu care se face sortarea, ordinea lor nu se va modifica.

#3146 Sort4

Să se sorteze șirul după criteriile specificate.

Scrieţi în limbajul C++ definiţia completă a subprogramului inmultire cu următorul antet:

void inmultire(matrice_rara a, matrice_rara b, matrice_rara &c)

ce calculează în c produsul matricelor rare a şi b.

Să se calculeze suma a două matrice rare .

Se dă un șir de n numere întregi a = (a[1], a[2], ..., a[n]). Trebuie să construiți un nou vector b de lungime n în care valorile sunt cuprinse între 1 și n astfel: toate elementele a[i] care memorează valoarea minimă se înlocuiesc în b[i] cu 1, toate elementele a[j] imediat mai mari decât minimele se înlocuiesc în b[j] cu 2, ș.a.m.d.

Anul acesta la serbarea de Crăciun, doamna învățătoare de la clasa întâi a hotărât să aranjeze elevii pe mai multe rânduri, după înălțime. Pe primul rând (cel din spatele scenei) va aranja în ordinea lexicografică a numelor, elevii care au înălțimea maximă, apoi în fața lor, tot în ordinea lexicografică a numelor elevii care au următoarea înălțime, ș.a.m.d. Fiind cam de aceeași vârstă, mulți dintre elevi au înălțimi egale.

Scrieţi un program care să citească numărul natural N (reprezentând numărul de elevi), apoi în ordine de pe linii diferite numele și înălțimea fiecărui elev și care să determine:

a) Numărul de rânduri pe care vor fi așezați elevii
b) Numărul de elevi de pe fiecare rând, urmat de elevii de pe rândul respectiv în ordinea lexicografică a numelor.

Olimpiada Municipala Informatica Iasi 2016