witam
spoj twierdzi że kod podaję błędną odpowiedź i nie rozumiem czemu ponieważ u mnie jak i na ideone(mój kod na ideone) wszystko działa dobrze jestem początkujący i nie znam się na tym zbyt dobrze, może robię po prostu coś w zły sposób ://
Blockquote
#include
using namespace std;
float ab(float x)
{
if (x < 0) x = x * (-1);
return x;
}
int num_var;
int var[100];
float diff[100];
float avg, m;
int closest = 1;
int ile;
int main()
{
cin >> ile;
for (int i = 0; i < ile; i++)
{
cin >> num_var;
avg = 0;
for (int i = 1; i <= num_var; i++)
{
cin >> var[i];
avg += var[i];
}
avg /= num_var;
for (int i = 0; i <= num_var; i++) diff[i] = ab(avg + (var[i] * (-1)));
m = diff[1];
for (int i = 1; i <= num_var; i++)
{
if (m > diff[i])
{
m = diff[i];
closest = i;
}
}
cout << var[closest] << endl;
}
return 0;
}
Po pierwsze, który kod jest łatwiejszy w debuggu: mój czy Twój?
#include <iostream>
#include <cmath>
//np. autor mogl pominac jakies zero w specyfikacji wejscia, ...
#define ZAPAS_DLA_PEWNOSCI 10'000
//ale pamietaj, ze tak wolno tylko na spoju i w realu jednak std::cin, ...
using namespace std;
int main()
{
int t, n, answer;
int *arr;
double average;
cin >> t;
while(t--) {
average = 0.0;
cin >> n;
arr = new int [n + ZAPAS_DLA_PEWNOSCI];
for(int i = 0; i < n; ++i) {
cin >> arr[i];
average += arr[i];
}
average /= n;
answer = arr[0];
for(int i = 1; i < n; ++i) {
if(abs(arr[i - 1] - average) > abs(arr[i] - average))
answer = arr[i];
}
cout << answer << endl;
delete[] arr;
}
return 0;
}
Po drugie:
1
4 2 3 0 4
Kod
cin >>n;
int liczba[n];
nie jest poprawnym kodem C++ (jest niezgodny z jego standardem). Nie można ustawiać rozmiaru tablicy podczas działania programu, tablica ma stałą szerokość od samego początku. Chcąc zmieniać/ustalać jej rozmiar podczas działania programu należy skorzystać z tablic dynamicznych lub wektorów. ALE większość kompilatorów na to pozwala z różnym efektem (czasem się wywali).
W Twoim wypadku można stworzyć tablicę 100 elementową
int liczba[100]
i znając n
wypełniać ją tylko do odpowiedniego momentu.
Suggested Topics
Topic | Category | Replies | Views | Activity |
---|---|---|---|---|
TFRACAL - Kalkulator ułamków | Zbiór zadań | 2 | 195 | Feb 1 |
FR_20_02 - Poszukiwacze skarbów - Błąd w testach? | Zbiór zadań | 1 | 156 | Apr 2 |
SPOJ.com - Problem ZABAWA pl.spoj.com | Zbiór zadań | 6 | 141 | Jun 23 |