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

Алмаз - C++

Восстановить пароль Регистрация
 
KONAN-VARVAR
2 / 2 / 0
Регистрация: 09.06.2013
Сообщений: 59
18.06.2013, 01:19     Алмаз #1
Во входных данных содержится несколько строк тестовых данных. Каждый тест в отдельной строке содержит единственное целое неотрицательное число N (N ≤ 100), строка со значением N равным нулю сигнализирует об окончании входных данных.

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

Для каждого случая входных данных нарисуйте образец алмаза шириной N как в примере. Обращаем внимание, что в каждой строке не должно быть лишних пробелов после символов '*'.

Разные тестовые случаи должны быть разделены пустой строкой.
C++
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
#include <iostream>
 
using namespace std;
 
int main() {
  int n, i, j;
  bool wasFirst = false;
  while (cin >> n && n != 0) {
      if (wasFirst)cout << endl;
      else wasFirst = true;
      for (i = 1; i <= n; i++) {
          for (j = i; j < n; j++) {
              cout << ' ';
          }
          for (j = 1; j <= i + i - 1; j++) {
              j < (i + i + 1) ? cout << '*' : cout << '*' << endl;
          }
          cout << endl;
      }
      for (i = n - 1; i > 0; i--) {
          for (j = i; j < n; j++) {
              cout << ' ';
          }
          for (j = 1; j <= i + i - 1; j++) {
              j < (i + i - 1)  ? cout << '*' : cout << '*' << endl;
          }
      }
  }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.06.2013, 01:46     Алмаз #2
Так всё уже сделано же! Только чтение из файла добавить надо.
А вообще, ты бы хотя бы задание прочёл сам, осмыслил сам и написал бы своими словами, что сделать.
А то сплошная копипаста из школьного ДЗ по информатике.
К тому же код готов.
Разве что из файла чтение сделать. А это заменить одну строчку
C++
1
2
  ifstream fs("input.txt");//9
  while (fs >> n && n != 0) {//10
KONAN-VARVAR
2 / 2 / 0
Регистрация: 09.06.2013
Сообщений: 59
18.06.2013, 03:46  [ТС]     Алмаз #3
Kuzia domovenok, да я просто скинул чтобы было))))

Добавлено через 1 минуту
Kuzia domovenok, правда мучился с ним очень долго)
Yandex
Объявления
18.06.2013, 03:46     Алмаз
Ответ Создать тему
Опции темы

Текущее время: 04:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru