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

Se consideră tabloul Note [26], în care au fost înregistrate notele obţinute de elevii unei clase la
lecţia de informatică. Să se scrie un program care numără (separat) notele de 8, 9 şi 10.( Se vor
utiliza subprograme fără tip la citirea tabloului și calcularea notelor)
IMI TREBUIE URGENT IN LIMBAJUL C!!!

Răspunsuri la întrebare

Răspuns de Apollyon
2

Răspuns:

#include <stdio.h>

void numara_note(int* vector_note, size_t dimensiune_vector);

int main(void) {

 // aici te poți juca, ori ai un vector inițializat deja cu note ori îl citești de la tastatură...

 int vector_note[] = {10, 1, 2, 2, 2, 4, 5, 5, 2,  3,  4,  5,  6,

                      7,  8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10};

 numara_note(vector_note, sizeof vector_note / sizeof(int));

 return 0;

}

void numara_note(int* vector_note, size_t dimensiune_vector) {

 // vector în care vom salva de câte ori apare o notă

 int frecventa_note[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

 // parcurgem vectorul de note

 for (size_t i = 0; i < dimensiune_vector; ++i) {

   // dacă nota e diferita de 8, 9 sau 10 trecem la următoarea iterație

   if (vector_note[i] != 8 && vector_note[i] != 9 && vector_note[i] != 10)

     continue;

   // aici, de ex, dacă nota este 8 vom indexa valoarea de pe indexul 7 al vectorului

   frecventa_note[vector_note[i] - 1]++;

 }

 // și la final vectorul nostru de frecvențe va arăta ceva de genul

 // {0, 0, 0, 0, 0, 0, 0, 3, 4, 6}

 // și afișăm valorile

 printf("Sunt %d note de %d, %d note de %d si %d note de %d!\n",

        frecventa_note[7], 8, frecventa_note[8], 9, frecventa_note[9], 10);

 return;

}


vovatodirean: Iti multumesc foarte mult. Daca poti terog sa ma rezolvi niste probleme de pe profilul meu.<3
Apollyon: Mă uit deseară peste ele.
vovatodirean: Te rog frumos cit mai repede deoarece astazi imi trebuiesc toate. Multumesc pentru intelegere
Alte întrebări interesante