Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Napisz program który oblicza podaną sumę z wektorami [C]

Ostatnio zmodyfikowano 2017-02-17 20:43
Autor Wiadomość
nowawieza
Temat założony przez niniejszego użytkownika
» 2017-02-15 23:05:42
A no racja.

Czyli jeśli chodzi o zadanie z tablicy to jest wszystko dobrze poza tym wyświetlanym tekstem?
Kurcze myślałem, że narobiłem więcej błędów :D
P-157784
maly7
» 2017-02-15 23:08:00
Zmienne x i y są nieużywane, więc można usunąć ich definicje. Po za tym, wydaje mi się że jest ok :p Przynajmniej nie widzę więcej błędów.

No i jeszcze niepotrzebnie załączasz bibliotekę time.h, ponieważ z niej nie korzystasz. Ale to już takie szczegóły :D
P-157785
nowawieza
Temat założony przez niniejszego użytkownika
» 2017-02-15 23:10:55
A może jakoś zmienić to?

C/C++
const int N = 1000;

Dałem dużą ilość ale może profesor uzna to za błąd, bo mu będzie za mało? Nie mam pomysłu co mógłbym z tym zrobić oprócz double int itd.
P-157786
maly7
» 2017-02-15 23:17:14
Najlepiej to by było zrobić tablice dynamiczne, ale nie wiem czy już to mieliście.
Rozmiar tablicy musi być liczbą całkowitą, więc nie może być double, chodziło Ci pewnie o const int :p
Ewentualnie mógłbyś zamiast const int dać #define N 1000. Co do samej wartości 1000, jeśli mają to być tablice statyczne to myślę, że nie uzna tego za błąd. Mie wiadomo przecież jakiego rozmiaru wektora wymaga :D

Nie pomyślałem o takim prostym rozwiązaniu, skupiłem się za bardzo na tablicach :D
Można też zrobić tak, że od razu po podaniu wektora (x i y) zsumuje ich różnice do zmiennej. Dzięki temu nie trzeba wykorzystywać tablicy, tylko dwie zmienne do przechowywania wartości x, y oraz jedną do sumy.

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

int main()
{
    float x, y, s = 0;
    int n, i;
    do {
        printf( "Podaj ilosc elementow wektora: " );
        scanf( "%d", & n );
    } while( n < 1 );

    for( i = 0; i < n; i++ )
    {
        printf( "\nPodaj wspolrzedna x  punktu: " );
        scanf( "%f", & x );
        printf( "Podaj wspolrzedna y  punktu: " );
        scanf( "%f", & y );
        printf( "\n%.1f,%.1f\n", x, y );
        s += x - y;
    }
    s = sqrt(abs(s));
    printf( "\n%f\n", s );
    return 0;
}
Skracając bardziej, można wykorzystać tylko jedną zmienna na wczytywanie x i y, ale to już chyba nie o to chodzi :p
P-157787
nowawieza
Temat założony przez niniejszego użytkownika
» 2017-02-16 00:00:29
Boże, nie chodziło mi o double tylko o long int :D Bo chyba może być const double int? :D

Co do zadania to wiem, że ten typ zadań trzeba zrobić z tablicą więc zostanę przy pierwszej wersji :D

Dzięki za wszystko :) Jesteś mega! :)

Ps: Tablic dynamicznych raczej nie mieliśmy, bo w sumie nie wiem co to, a czytać dzisiaj nie mam ochoty xD
P-157793
nowawieza
Temat założony przez niniejszego użytkownika
» 2017-02-17 20:43:17
Dziękuję bardzo każdemu kto pomógł :)
Kolokwium zaliczone choć nie wiem na jaką ocenę ale ważne, że mi zaliczyła profesorka ;D

Miałem wzór troche inny. Pierwiastek z tego znaku sumy i obok (xi-yi)^2. Za pierwszym razem powiedziała, że to jedyny błąd i mam poprawić, potem poprawiłem ale nadal zrobiłem źle xD No i dopiero jak się chwilę zastanowiłem, że muszę pierwiastek wyliczyć po liczeniu sumy to wszystko było git ;p Algorytmika się kłania xD

Boskie to forum <3 Kocham was wszystkich!
P-157915
1 « 2 »
Poprzednia strona Strona 2 z 2