Εύρεση πόσων στοιχειων σε πίνακα

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Connor MacLeod
Honorary Member
Δημοσιεύσεις: 13372
Εγγραφή: 07 Φεβ 2005 13:36
Τοποθεσία: Κοζάνη
Επικοινωνία:

Εύρεση πόσων στοιχειων σε πίνακα

Δημοσίευση από Connor MacLeod » 17 Νοέμ 2012 19:36

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


#define WIDTH 3
#define HEIGHT 1

float  array&#91;HEIGHT&#93;&#91;WIDTH&#93;;
int h,w;
float sum;
float average;

main &#40;&#41;
&#123;
     sum=0;
     average=0;
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          scanf&#40;"%f", &array&#91;h&#93;&#91;w&#93;&#41;;
          &#125;
          &#125;
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          printf&#40;"Pinakas&#91;%d&#93;&#91;%d&#93; = %.2f\t", h, w, array&#91;h&#93;&#91;w&#93;&#41;;
          &#125;
          printf&#40;"\n"&#41;;
          &#125;
          
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          sum=sum+array&#91;h&#93;&#91;w&#93;;
          &#125;
          printf&#40;"\nTo athrisma 1 einai %.2f", sum&#41;;
          &#125;
           
          average=sum/3;
      
          printf&#40;"\n H mesi thermokrasia einai&#58; %.3f", average&#41;;
          
          system&#40;"pause"&#41;;
&#125;
Μέχρι εδω το εχω κάνει.
Θελω να βρώ μετα πόσες θερμοκρασίες που εχω δώσει ειναι κατω του μεσου όρου.

Εχω σκαλώσει τωρα. κατι απλο φανταζομαι ειναι.
λογικα θα δωσω μια if που θα λεει

Κώδικας: Επιλογή όλων

if array&#91;&#93;&#91;&#93;<m_o
αλλα θα τη βάλω και αυτη μεσα σε for? θελω επιπλέον ποσες μεταβλητές τώρα? μια σίγουρα για να κανω store το πόσες ειναι οι θερμοκρασιες (λογικα counter θα ειναι). Θελω κι κάποια άλλη?
Meizu MX5(5.5"/8Core/3GB/32GB/Sony IMX220 20.7MP)
PC 27'' (3770@3.4/16GB/560SE/500GB SATA3/650W S12G)
Mac mini (2.5GHz/8GB/6630/90GB GorsairGT)

Άβαταρ μέλους
Connor MacLeod
Honorary Member
Δημοσιεύσεις: 13372
Εγγραφή: 07 Φεβ 2005 13:36
Τοποθεσία: Κοζάνη
Επικοινωνία:

Εύρεση πόσων στοιχειων σε πίνακα

Δημοσίευση από Connor MacLeod » 18 Νοέμ 2012 07:36

Το εκανα λιγο αλλιώς τωρα γιατι αν θελω πανω απο μια πολη εβγαζε προβλημα στο άθροισμα:

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


#define WIDTH 3
#define HEIGHT 3

float  array&#91;HEIGHT&#93;&#91;WIDTH&#93;;
int h,w;
float sum;
float average;

main &#40;&#41;
&#123;
     sum=0;
     average=0;
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          scanf&#40;"%f", &array&#91;h&#93;&#91;w&#93;&#41;;
          &#125;
          &#125;
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          printf&#40;"Pinakas&#91;%d&#93;&#91;%d&#93; = %.2f\t", h, w, array&#91;h&#93;&#91;w&#93;&#41;;
          &#125;
          printf&#40;"\n"&#41;;
          &#125;
          
  for &#40;h=0;h<HEIGHT;h++&#41;
  &#123;
      for &#40;w=0;w<WIDTH;w++&#41;
      &#123;
          sum=sum+array&#91;h&#93;&#91;w&#93;;
          &#125;
          average=sum/3;
          printf&#40;"\nTo athrisma 1 einai %.2f", sum&#41;;
          printf&#40;"\n H mesi thermokrasia einai&#58; %.3f", average&#41;;
          average=0;
          sum=0;
          &#125;
          system&#40;"pause"&#41;;
&#125;
Εχω κολλήσει στο δευτερο σκέλος ακομα. καμια help?
Meizu MX5(5.5"/8Core/3GB/32GB/Sony IMX220 20.7MP)
PC 27'' (3770@3.4/16GB/560SE/500GB SATA3/650W S12G)
Mac mini (2.5GHz/8GB/6630/90GB GorsairGT)

PanosPss
Δημοσιεύσεις: 78
Εγγραφή: 10 Μάιος 2008 19:53

Εύρεση πόσων στοιχειων σε πίνακα

Δημοσίευση από PanosPss » 05 Δεκ 2012 01:48

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


#define WIDTH 3
#define HEIGHT 1

int lower_counter;
float array[HEIGHT][WIDTH];
int h,w;
float sum;
float average;

main ()
{
sum=0;
average=0;
lower_counter = 0;

for (h=0;h<HEIGHT;h++) {
for (w=0;w<WIDTH;w++) {
scanf("%f", &array[h][w]);
}
}

for (h=0;h<HEIGHT;h++) {
for (w=0;w<WIDTH;w++) {
printf("Pinakas[%d][%d] = %.2f\t", h, w, array[h][w]);
}
printf("\n");
}

for(h=0;h<HEIGHT;h++) {
for(w=0;w<WIDTH;w++) {
sum = sum + array[h][w];
}
printf("\nTo athrisma 1 einai %.2f", sum);
}

average=sum/3;

printf("\n H mesi thermokrasia einai: %.3f", average);

for(h=0;h<HEIGHT;h++) {
for(w=0;w<WIDTH;w++) {
if(array[h][w] < average) {
lower_counter = lower_counter + 1;
}
}
}

printf("\n %d times einai katw tou mesou orou!");

system("pause");
}
Όλο δικό σου φίλε μου!!

και μια συμβουλή μην κάνεις τις μεταβλητες σου καθολικες αν δεν υπάρχει συγκεκριμένος λόγος :)

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Εύρεση πόσων στοιχειων σε πίνακα

Δημοσίευση από mariosal » 12 Δεκ 2012 11:04

Ίσως θα ήταν πιο βολικό να είχες έναν μονοδιάστατο πίνακα W * H.

Κώδικας: Επιλογή όλων

#include <cstdio>

int main&#40;&#41; &#123;
  const int W = 3;
  const int H = 1;
  int i, belowAvg, sum;
  float avg, *t = new float&#91; W * H &#93;;

  // Reading and calculating the sum
  sum = 0;
  for &#40; i = 0; i < W * H; ++i &#41; &#123;
    scanf&#40; "%f", t + i &#41;;
    sum += t&#91; i &#93;;
  &#125;

  // Printing the values of t
  for &#40; i = 0; i < W * H; ++i &#41; &#123;
    printf&#40; "%s%.2f", i % W ? " " &#58; "", t&#91; i &#93; &#41;;
    if &#40; &#40; i + 1 &#41; % W == 0 &#41; &#123;
      printf&#40; "\n" &#41;;
    &#125;
  &#125;

  avg = &#40; float &#41;sum / &#40; W * H &#41;;
  printf&#40; "Sum&#58; %d\nAverage&#58; %.2f\n", sum, avg &#41;;

  // Checking how many values are below the average
  belowAvg = 0;
  for &#40; i = 0; i < W * H; ++i &#41; &#123;
    if &#40; t&#91; i &#93; < avg &#41; &#123;
      ++belowAvg;
    &#125;
  &#125;
  printf&#40; "Temperatures below the average&#58; %d\n", belowAvg &#41;;

  return 0;
&#125;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες