Informatică, întrebare adresată de bdhhdhfj4, 8 ani în urmă

Se consideră patru numere întregi pozitive, primele trei din care reprezintă o data sub forma: an, luna, zi, iar ultimul – numărul de ordine al zilei din săptămână ce corespunde Anului Nou respectiv. Să se scrie un program ce stabileşte a câta zi din săptămână este ziua considerată aplicând: 1) instrucțunea If; 2) Instrucţiunea Case. Remarcă: ani bisecţi ai calendarului Gregorian sunt anii ce se împart la 4 si nu se împart la 100. Toţi anii ce se împart la 400 sunt ani bisecţi.


bdhhdhfj4: gg
skyscreeper: as putea sa iti trimit ceva asemantor
skyscreeper: dar fara case, eu am avut aproape la fel dar cu cerinta diferinta sa afisez ziua ca si numar din saptamana respectiva, nu stiu daca te poate ajuta sau nu.
bdhhdhfj4: Tremite dar si conditia la exercitiu pe care lai avut

Răspunsuri la întrebare

Răspuns de skyscreeper
2

Răspuns:

#include<iostream>

#include<cmath>

using namespace std;

string weekzi[7] = {"0","1","2","3", "4","5","6"}; // 0 - Reprezinta Sambata  // 6 - Vineri

string AlgoritmZeller(int zi, int luna, int an){

  int mon;

  if(luna > 2)

     mon = luna;

  else{

     mon = (12+luna);

     }

  int y = an % 100;

  int c = an / 100;

  int w = (zi + floor((13*(mon+1))/5) + y + floor(y/4) + floor(c/4) + (5*c));

  w = w % 7;

  return weekzi[w];

}

int main(){

  int zi, luna, an;

  cout << "Introduce  Ziua: "; cin >>zi;

  cout << "Introduce Luna: "; cin >>luna;

  cout << "Introduce Anul: "; cin >>an;

  cout << "Ziua este: " <<AlgoritmZeller(zi, luna, an);

}

Problema a sunat cam asa :

Se consideră patru numere întregi pozitive,

primele trei numere sa reprezinte zi , luna, an

iar ultimul numar trebuie sa afiseze  Ziua din saptamana respectiva

 Am folosit Algoritmul lui Zeller  care calculeaza si anii bisecti :

⟮d+⌊13(m+1)5⌋+y+⌊y4⌋+⌊c4⌋+5c⟯mod7

Ex out: ziua de azi 8 zi / luna 11 an 2020 afiseaza cifra 1 (Duminica)

Sper sa iti fie de folos

Explicație:

Alte întrebări interesante