Ka-shop2791
?>

С++ Дано поле Морского боя (10×10 Ячейка обозначается 0, если там ничего нет; 1, если там находится корабль; 2, если там находится разбитый корабль. Производится выстрел по координатам (x, y), если выстрел попал в корабль (там, где стоит 1), то палуба этого корабля становится разбитой. Вывести на экран изменённое поле. С++

Информатика

Ответы

klimovala2

что сложного? Изначально заполняешь матрицу 0 и единицами, потои когда получаешь координаты просто делаешь a[x][y] = 0, если там был 0 то ничего не поменячетс, а иначе потопится 1, вот и все решение

Эвелина

Program qw;
uses crt;
Type
   Atlas=Record
       country,capital:string;
       area,people:real;
     end;
   ps=File of atlas;
Var f:ps;
    z,t:atlas;
Begin
  assign(f,'1.dat');
  rewrite(f);
    z.country:='Латвия'; z.area:=67.7;
    z.people:=2.6; z.capital:='Рига';
    write(f,z);
    z.country:='Литва'; z.area:=65.2;
    z.people:=3.4; z.capital:='Вильнюс';
    write(f,z);
    z.country:='Польша'; z.area:=313;
    z.people:=34.8; z.capital:='Варшава';
    write(f,z);
    z.country:='Украина'; z.area:=603.7;
    z.people:=50; z.capital:='Киев';
    write(f,z);
    z.country:='Россия'; z.area:=17075.4;
    z.people:=139; z.capital:='Москва';
    write(f,z);
  Close(f);
  assign(f,'1.dat');
  reset(f);
  read(f,t);
  while not(eof(f)) do
    begin
      read(f,z);  
      if t.people/t.area < z.people/z.area then t:=z;
    end;
  close(f);
  writeln('Cтранa с наибольшей плотностью населения:');
  writeln(t.country,' (плотность населения равна ',t.people/t.area:9:6,' млн на кв.км)');
end.

zaschitin48

а)89/2 = 44, остаток: 1

44/2 = 22, остаток: 0

22/2 = 11, остаток: 0

11/2 = 5, остаток: 1

5/2 = 2, остаток: 1

2/2 = 1, остаток: 0

1/2 = 0, остаток: 1

8910 = 10110012


б)600/2 = 300, остаток: 0

300/2 = 150, остаток: 0

150/2 = 75, остаток: 0

75/2 = 37, остаток: 1

37/2 = 18, остаток: 1

18/2 = 9, остаток: 0

9/2 = 4, остаток: 1

4/2 = 2, остаток: 0

2/2 = 1, остаток: 0

1/2 = 0, остаток: 1

60010 = 10010110002

в)2010/2 = 1005, остаток: 0

1005/2 = 502, остаток: 1

502/2 = 251, остаток: 0

251/2 = 125, остаток: 1

125/2 = 62, остаток: 1

62/2 = 31, остаток: 0

31/2 = 15, остаток: 1

15/2 = 7, остаток: 1

7/2 = 3, остаток: 1

3/2 = 1, остаток: 1

1/2 = 0, остаток: 1

201010 = 111110110102

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

С++ Дано поле Морского боя (10×10 Ячейка обозначается 0, если там ничего нет; 1, если там находится корабль; 2, если там находится разбитый корабль. Производится выстрел по координатам (x, y), если выстрел попал в корабль (там, где стоит 1), то палуба этого корабля становится разбитой. Вывести на экран изменённое поле. С++
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Fedorovich309
Tsibrova
Сергеевич1386
omigunova39
Суханова1532
evg-martenyuk
Усошина1059
dentinnsmr467
Petrushin482
bandurinei
Поликарпова-Мазурова
larson96
leonid-adv70
Goldaram84
akarabut343