12. Некоторый сегмент сети Интернет состоит из 5000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вотее фрагмент: Кл Ключевое слово Количество сайтов, для которых данное слово является ключевым принтеры сканеры мониторы 400 300 500 Сколько сайтов будет найдено по запросу (принтеры | мониторы) & сканеры если по запросу принтеры | сканеры было найдено 600 сайтов, по запросу принтеры | мониторы - 900, 400, а по запросу сканеры | мониторы - 750.
Можно и короче, но так нагляднее: #include <stdlib.h> #include <iostream> using namespace std;
int main() { const int n=6; int a; int b; int c; int arr[n]={-3, -2, -1, 1, 2, 3}; for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl;
srand(time(0)); a = rand() % 6; cout << "(" << a << ")" << " a = " << arr[a] << endl; if (a != 0) b = rand() % a; else b=0; cout << " b = " << b << " (" << arr[a-b] << " этаж)" << endl; if ((n-a+b) != 0) c = rand() % (n-a+b); else c=0; cout << " c = " << c << " (" << arr[a-b+c] << " этаж)" << endl; }
Пример: -3 -2 -1 1 2 3 (5) a = 3 b = 4 (-2 этаж) c = 2 (1 этаж)
Если этажей может быть много (до 100), то подробное решение может быть таким: #include <stdlib.h> #include <iostream> using namespace std;
int main() { int n, n1, a, b, c; int a1, a2, a3;
srand(time(0)); n = (rand() % 50 + 1)*2; n1 = n/2; cout << " n = " << n << " (" << -n1 << " ... " << n1 << ")" << endl; a1 = rand() % n; a = a1-n1; if (a <= 0) a--; cout << " a = " << a << endl; b = rand() % a1; a2 = a1-b-n1; if (a2 <= 0) a2--; cout << " b = " << b << " (" << a2 << " этаж)" << endl; if ((n-a1+b) != 0) c = rand() % (n-a1+b); else c=0; a3 = a1-b+c-n1; if (a3 <= 0) a3--; cout << " c = " << c << " (" << a3 << " этаж)" << endl; }
Пример: n = 96 (-48 ... 48) a = -38 b = 9 (-47 этаж) c = 83 (37 этаж)
Відповідь:
Пояснення:
//Реализация задачи №1 "A+B" на C
#include < stdio.h >
long a,b;
int main(){
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
scanf("%ld%ld",&a,&b);
printf("%ld",a+b);
return 0;
}
7
{Реализация задачи №1 "A+B" на Pascal}
var a, b : longint;
begin
assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
read(a, b);
write(a + b);
end.
//Реализация задачи №1 "A+B" на Java
import java.util.*;
import java.io.*;
public class Main{ //имя класса должно быть Main
public static void main(String[] argv) throws IOException{
new Main().run();
}
PrintWriter pw;
Scanner sc;
public void run() throws IOException{
sc = new Scanner(new File("input.txt"));
int a=sc.nextInt(), b=sc.nextInt();
pw = new PrintWriter(new File("output.txt"));
pw.print(a+b);
pw.close();
}
}
'Реализация задачи №1 "А+В" на Basic
open "input.txt" for input as #1
open "output.txt" for output as #2
input #1,a#,b#
print #2,a#+b#
close #1
close #2
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
const int n=6;
int a;
int b;
int c;
int arr[n]={-3, -2, -1, 1, 2, 3};
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
srand(time(0));
a = rand() % 6;
cout << "(" << a << ")" << " a = " << arr[a] << endl;
if (a != 0) b = rand() % a; else b=0;
cout << " b = " << b << " (" << arr[a-b] << " этаж)" << endl;
if ((n-a+b) != 0) c = rand() % (n-a+b); else c=0;
cout << " c = " << c << " (" << arr[a-b+c] << " этаж)" << endl;
}
Пример:
-3 -2 -1 1 2 3
(5) a = 3
b = 4 (-2 этаж)
c = 2 (1 этаж)
Если этажей может быть много (до 100), то подробное решение может быть таким:
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
int n, n1, a, b, c;
int a1, a2, a3;
srand(time(0));
n = (rand() % 50 + 1)*2;
n1 = n/2;
cout << " n = " << n << " (" << -n1 << " ... " << n1 << ")" << endl;
a1 = rand() % n;
a = a1-n1;
if (a <= 0) a--;
cout << " a = " << a << endl;
b = rand() % a1;
a2 = a1-b-n1;
if (a2 <= 0) a2--;
cout << " b = " << b << " (" << a2 << " этаж)" << endl;
if ((n-a1+b) != 0) c = rand() % (n-a1+b); else c=0;
a3 = a1-b+c-n1;
if (a3 <= 0) a3--;
cout << " c = " << c << " (" << a3 << " этаж)" << endl;
}
Пример:
n = 96 (-48 ... 48)
a = -38
b = 9 (-47 этаж)
c = 83 (37 этаж)