Witam,
Problem wygląda tak, chciałbym mieć w Inpucie następujące wartości:
5 3
1 2 3 4 5
Ale niestety po wpisaniu pierwszego wiersza i wciśnięciu klawisza ENTER, program, się kończy.
Rozwiązałem ten problem za pomocą metody std::cin, ale chciałbym wiedzieć jak to można wykonać za pomocą scanf().
Całość programu wygląda następująco:
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, const char * argv[]) {
int n;
int p;
int moves;
scanf("%n %d", &n, &p);
int numbers[n];
for(int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
int err = 0;
int identicalVal = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if (numbers[i] == numbers[j]) {
if(identicalVal == 0) {
identicalVal++;
} else {
err++;
}
continue;
} else {
if( (numbers[i] - numbers[j]) % p == 0) {
err++;
}
}
}
identicalVal = 0;
if(err == 0) {
moves++;
} else {
err = 0;
continue;
}
}
printf("%d", moves);
return 0;
}
Z góry dziękuję za odpowiedzi :D