tablica jednowymiarowa

0

Bardzo proszę o pomoc.
Mam napisać program, który rezerwuje w pamięci miejsce dla jednowymiarowej tablicy liczb całkowitych o rozmiarze podanym przez użytkownika z klawiatury.następnie mam wypełnić ją liczbami pseudolodowymi oraz napisać funkcje czy też może w inny sposób znaleźć największą i najmniejsza wartość oraz obliczyć średnią arytmetyczną liczb z tablicy.
Posługujemy się programem Dev-C++

Bardzo Was proszę o pomoc:)
Pozdrawiam

0

leń!

0

O przepraszam bardzo....lenistwo nie równa się niemoc;)
Ja nie potrafię tego napisać, uwierz mi:(
A jutro mam kolosa....
Pomóż...
część umiem tylko nie wiem jak znaleźć te wartości gdy mam za pomoca wskaźnika cos juz porobione...dlatego wolałabym zeby mi to ktos napisał od nowa zeby nie było niejasności i zebym miala sie z czego pouczyc

0

Nawet się wstydzę tego pokazywać, bo to pewnie same bzdury...ale przynajmniej cos próbowałam...

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

void wyswietl(int N, int *p)
{
int i;
for(i=0;i<N;i++)
printf("%d ",p[i]);
}
void wartosc(int max, int min, int p[N])
{
     
     max=p[0];
     min=p[0];
     for(int i=0;i<N;i++)
     {
             if(p[i]>max)max=p[i];
             if(p[i]<min)min=p[i];
             }
}
     
     
int main(int argc, char *argv[])
{
  int *p=NULL;
  int N;
  int i;
  printf("Podaj rozmiar tablicy\n");
  scanf("%d",&N);
  fflush(stdin);
  p=(int*)calloc(N,sizeof(int));
  if(p==NULL)exit(-1);
  srand((unsigned)time(NULL));
  for(i=0;i<N;i++)
  *(p+i)=rand()%101;
  printf("Najwieksza wartosc jest rowna %d",max);
  printf("Najmniejsza wartosc jest rowna %d",min);
  
  
  wartosc(max,min);
  
  wyswietl(N,p);
  
                
  free(p);
  system("PAUSE");	
  return 0;
}
0
  1. wyświetlasz największą i najmniejszą wartość zanim ją jeszcze obliczysz
  2. funkcja obliczająca te wartości jest źle napisana. Zakładając, że jest to język C:
void wartosc(int* max, int* min, int* p, int N)
{
     
     *max=p[0];
     *min=p[0];
     for(int i=0;i<N;i++)
     {
             if(p[i]>*max)*max=p[i];
             if(p[i]<*min)*min=p[i];
             }
}

a wywołanie: wartosc(&max,&min, p, N);

  1. poza tym to: *(p+i)=rand()%101; można zapisać tak: p[i] = rand()%101;
0

I tylko to wystarczy, że zmienię i będzie dobrze już?

0

Coś jest źle w tej linijce:

for(int i=0;i<N;i++)

Bynajmniej tak "pokazało" po kompilacji

0

void wartosc(int* max, int* min, int* p, int N)
tego nie skopiowałaś. jak nie zdasz to wiedz, że zasłużyłaś

0

Przepraszam bardzo...skopiowałam..
Wydaje mi się, że jedyna osoba która tutaj na coś nie zasłużyła to mój pan prowadzący ćwiczenia na stanowisko które zajmuje...

0

Nie działa z innego powodu, bo ta linijkę miałam skopiowana dla jasności

0

na studiach się samemu uczy, a nie liczy na prowadzących!

0

Dalej nie działa..;(

0

Z polecenia wynika, że możesz to dowolnie obliczyć a tylko tablica ma być wskaźnikiem.

#include <cstdio>
#include <cstdlib>
#include <ctime>

int main()
{
    int r, min = 100, max = 0, srednia = 0;
    int *tab;
    
    printf("Podaj rozmiar tablicy: ");
    scanf("%d", &r);
    
    tab = new int[r];
    srand(time(0));
    for(int i = 0; i < r; i++)
            tab[i] = rand()%101;
            
    for(int i = 0; i < r; i++)
    {
            if(tab[i] > max)
                      max = tab[i];
                      
            if(tab[i] < min)
                      min = tab[i];
                      
            srednia += tab[i];
    }
    
    printf("min = %d\nmax = %d\nsrednia = %d", min, max, srednia / r);

    delete [] tab;
    return 0;
}
0

To przecież uczę się sama...nie widać...chyba widać

0

Wiesz co ujemny...Ty jesteś jednak dodatni:):):)

Dziekuję Wam bardzo za pomoc;)

0
Kama napisał(a)

Wydaje mi się, że jedyna osoba która tutaj na coś nie zasłużyła to mój pan prowadzący ćwiczenia na stanowisko które zajmuje...

A co, wiesz więcej od niego, że tak uważasz?

0

Nie....ale problem w tym,że "dzięki" niemu nie wiem prawie nic....Bo on nic nie tłumaczy..tylko zadaje
Zadać to ja sobie mogę sama w domu..i nie muszę do tego być w szkole i tracić pieniędzy na bilet..

0

A jeśli jego rola ma polegać tylko na siedzeniu za biurkiem i sprawdzeniu obecności to równie dobrze mogło by go w ogóle nie być

0

ale jak już wszyscy zauważyli, sama nic nie robisz, tylko prosisz innych

0

Dziękuję Wam za pomoc:) Teraz będę analizować swoje błędy w programie i może się dzięki temu coś nauczę:)

No wybaczcie ZDOLNIACHY ale niestety nie potrafię sama tego zrobić więc proszę innych...Dobrej nocy

0
Kama napisał(a)

No wybaczcie ZDOLNIACHY ale niestety nie potrafię sama tego zrobić więc proszę innych...Dobrej nocy

Ale to studia dziewczyno. Tu nie ma czegoś takiego, jak "wytłumacz" - robisz to jesteś, nie robisz to Cie nie ma - proste.

0

A to dziwne, bo ja nie robię a jestem

0
Kama napisał(a)

A to dziwne, bo ja nie robię a jestem

Bo sesja jest w lutym.

0

Już nie musicie jej tak umoralniać. Jak sie nie przyłoży to i tak studiów nie zaliczy, a jednorazowa pomoc nikomu nie zaszkodzi.

0

Jakbym wszystko umiała to po co miałabym studiować?

0
Kama napisał(a)

Jakbym wszystko umiała to po co miałabym studiować?

To przestań studiować i zacznij się uczyć!!!

0

To jest myśl....;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1