Форум программистов, компьютерный форум CyberForum.ru

на С++ Черно-белая графика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вопрос по односвязному списку. http://www.cyberforum.ru/cpp-beginners/thread352063.html
Ребят у меня такой вопрос! Нам в универе дали задание реализовать односвязный список на базе массива с индексными указателями. Все хорошо, я знаю как сделать обычный список!А вот дополнение через массив указателей не много не догоняю! Обьясните пожалста!
C++ Буквенные сочетания. Всем привет. Озадачился. Есть 2 регистра англ. алфавита, хочу вывести все 2х буквенные сочетания верхнего и нижнего регистра и соответственно нижнего с верхним и наоборот, на выходе 4 массива сочетаний. Хотел сначала задать unsigned char Eng_Up={'A', 'B',.......}, но потом подумал как преобразовать на выходе именно в строку 'AA', 'AB'...., поэтому начал задавать массивы строк и уперся в стену... http://www.cyberforum.ru/cpp-beginners/thread352061.html
C++ Аффинные пространства
Помогите пожалуйста, у кого - нибудь есть готовая программа под Visual Studio 2008 реализации операций с аффинными элементами аффинного пространства или посоветовать книгу где есть эта программа?
Построение бинарного дерева из строки C++
Доброго времени суток, уважаемые. Хотел бы спросить у вас спросить совета относительно реализации следующей проблемы: Задано арифметическо-логическое выражение (к примеру, (A+B-7*(3+C)>12)OR(B-A+19<7)), которое нужно перевести в дерево. Собственно интересует меня не код программы, а возможные алгоритмы решения данной задачи - т.е. последовательность построения дерева и добавления узлов. ...
C++ Необходимо накопить сумму всех элементов массива, находящихся в интервале от А до В, и вывести её на экран. http://www.cyberforum.ru/cpp-beginners/thread352025.html
Всем доброго времени суток!!! Вкратце о проблеме: учусь на гуманитарном, новая специальность, никакой учебной программы нет. И тут нам начали впаривать информатику, программирование, причем за 2 месяца пытались натаскать до уровня написания легких программ... Вы представляете, что получилось... Но требуют, как будто мы программисты... Времени осталось в обрез... Все попытки хотя бы установить...
C++ Перезапись части информации в файле Доброго времени суток. Возникла интересная проблема, как видно из заголовка темы, не могу перезаписать опредиленный кусок файла - он записывается в нужное место, но удаляется все остальное. Итак попорядку, вот тут я записываю инфу в файл: ofstream fout("DATA.uid",ios::binary|ios::in|ios::out); //файл if (!fout) { MessageBox(hDlg, "Ошибка при открытии файла.", "Ошибка",... подробнее

Показать сообщение отдельно
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
16.09.2011, 09:47     на С++ Черно-белая графика
Нужно решить на С++

Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите количество «островов», образованных единицами. Под «островом» понимается группа единиц (либо одна единица), со всех сторон окруженная нулями (или краями матрицы). Единицы относятся к одному «острову», если из одной из них можно перейти к другой «наступая» на единицы, расположенные в соседних клетках. Соседними являются клетки, граничащие по горизонтали или вертикали.

Входные данные

В первой строке файла INPUT.TXT записано натуральное число N не больше 100 - размер квадратной матрицы. В следующих N строках задаются элементы матрицы через пробел.

Выходные данные

В файл OUTPUT.TXT выведите единственное число - количество островов


Есть решение на Паскале
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const
  m = 102;
var
  a:array [1..m, 1..m] of integer;
  i,j,n,res: integer;
  input,output: text;
procedure count(i,j: integer);
  begin
    if a[i,j] <> 1 then
      exit;
    a[i,j] := 0;
    count(i + 1, j);
    count(i - 1, j);
    count(i, j + 1);
    count(i, j - 1);
  end;
begin
  res:= 0;
  assign(input,'input.txt');
  reset(input);
  assign(output,'output.txt');
  rewrite(output);
  read(input, n);
  {Заполняем массив нулями}
  for i:= 1 to n+2 do
    for j:=1 to n+2 do
      a[i,j]:=0;
  {Считываем матрицу из файла}
  for i:= 2 to n+1 do
    for j:=2 to n+1 do
      read(input,a[i,j]);
  {Обходим матрицу в поиске островов}
  for i := 2 to n+1 do
    for j := 2 to n+1 do
      if a[i,j] = 1 then
        begin
          inc(res);
          count(i,j);
        end;
  write(output,res);
  close(input);
  close(output);
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru