Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
DeymosZ
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 4
1

Форматированный вывод в цикле

07.11.2015, 14:56. Просмотров 302. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Нужна помощь с циклом и выводом так сказать примитивной синусоиды( рисунка из цифр).
Помогите упростить КОД
P.S (Заранее прошу прощение, если не нашел такую тему!)
C++
1
2
3
4
5
6
7
8
9
10
11
Напиши функцию которая выведет
111
11
1
2
22
222
333
33
3
Использовать цикл
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
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
void main()
{
    setlocale(LC_ALL, "RUS");
    int a =1;
    
    for (int i = 0;i < 3;i++) {
        for (int j = 0;j < 3;j++) {
            if (i <= j) {
                cout << "1";
            }
 
        }
        cout << "\n";
    }
    for (int i = 0;i < 3;i++) {
        for (int j = 0;j < 3;j++) {
            if (i >= j) {
                cout << "2";
            }
 
        }
        cout << "\n";
    }
 
    for (int i = 0;i < 3;i++) {
        for (int j = 0;j < 3;j++) {
            if (i <= j) {
                cout << "3";
            }
 
        }
        cout << "\n";
    }
    
    system("pause");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2015, 14:56
Ответы с готовыми решениями:

Форматированный вывод переменной в цикле
Господа, извините за тупой вопрос, но меня он очень смутил, делал табуляцию функции в цикле,...

форматированный вывод
Всем, здрасте! У меня вопрос, как сделать вывод линии перед цифрами? (длина линии зависит от...

Форматированный вывод
Написать код, который позволит скомпилировать следующую строку cout &lt;&lt; toUpper &lt;&lt; “абвгд”; Как...

Форматированный вывод
Например: double a=3.00; cout &lt;&lt; a; выводит 3 А мне нужно (таково условие вывода в...

Программа в С++. Форматированный вывод
Второе задание, на него я написала такую программу и она работает,но мне нужно сдедать в программе...

5
nmcf
6515 / 5744 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
07.11.2015, 15:06 2
Ну можешь функцию создать, передавать туда цифру и признак возрастания или убывания.
1
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,144
07.11.2015, 15:09 3
DeymosZ,
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
    const int N = 3;
    int count = 5;
    int k = 0;
 
    while(count--)
    {
        for (int i = N; i > 1; i--)
        {
            for (int j = 0; j < i; j++)
                cout << k;
            cout << endl;
        }
 
        ++k;
 
        for (int i = 1; i < N; i++)
        {
            for (int j = 0; j < i; j++)
                cout << k;
            cout << endl;
        }
 
        ++k;
    }
1
Tulosba
:)
Эксперт С++
4750 / 3244 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
07.11.2015, 17:58 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main() {
    int c[] = {3,2,1,1,2,3};
    int i = 0;
    for(int d=1; d<=3; ++d) { 
        for(int k=0; k<3; ++k) {
            for(int n=0; n<c[i%6]; ++n) {
                std::cout << d;
            }
            ++i;
            std::cout << '\n';
        }
    }
}
0
Гайфи
15 / 9 / 5
Регистрация: 17.10.2015
Сообщений: 116
07.11.2015, 18:12 5
C++
1
#define repeat(code, count) for(int i =0; i < count; i++){code};
макрос для упрошенного создания циклов не думал, что мне это когда нибудь пригодится. Юзай
C++
1
repeat(std::cout << 1;, 3);
и т.д
0
Melg
539 / 160 / 79
Регистрация: 23.09.2013
Сообщений: 316
07.11.2015, 18:48 6
DeymosZ, Упрощать Ваш код не нашел смысла, поскольку он строится на неверных предпосылках, но более простое для восприятия решение построить возможно.
Задача разбивается на 3 этапа:
1) Мы видим, что в Вашем выводе всегда строки заполнены одинаковыми символами, значит нужна функция вывода n одинаковых значений v
2) Мы видим, что все элементы одного значения образуют треугольники, изменяющие значения на 1 между строками - значит нужна функция вывода такого треугольника.
3) Мы видим что направление изменения ширины строки в треугольнике меняется на противоположный с каждым новым значением, отсюда нам нужна функция отражающая этот факт.

Обобщая получаем:
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
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
using std::cout;
using std::endl;
 
void ShowRow(int value, int length_of_row) {
  for (int i = 0; i < length_of_row; ++i) {
    cout << value;
  }
  cout << endl;
}
 
int GetIncrement(int start_value, int end_value) {
  int increment = 0;
  if (start_value > end_value) {
    increment = -1;
  } else {
    increment = 1;
  }
  return increment;
}
 
void ShowTriangle(int value, int start_lenght, int end_length) {
  int increment = GetIncrement(start_lenght, end_length);
  for (int i = start_lenght; i != end_length; i += increment) {
    ShowRow(value, i);
  }
  ShowRow(value, end_length);
}
 
void ShowSnake(int start_value, int end_value, int start_lenght,
               int end_length) {
  int current_value = start_value;
  const int increment = GetIncrement(start_value, end_value);
  while (current_value <= end_value) {
    ShowTriangle(current_value, start_lenght, end_length);
    current_value += increment;
    std::swap(start_lenght, end_length);
  }
}
 
int main() { ShowSnake(1, 3, 3, 1); }
Пруф работоспособности:
http://ideone.com/Rx8BAW

Но данный код более приспособлен к изменению входных условий, например:
http://ideone.com/4Ml0Sm

Естественно значение 4-х переменных можно задать в динамике, это не сделано просто для возможности легкого воспроизведения примера.
0
07.11.2015, 18:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2015, 18:48

Форматированный вывод матрицы
Ребят как сделать чтоб на выводе была матрица тоже квадратная ,а не в столбик все значения

Форматированный вывод. Как???
Здравствуйте. База данных содержит поле серийный номер (6 цифр) Проблема с тем, что если первыми...

Форматированный вывод в файл
Подскажите пожалуйста как сделать форматированный вывод в файл. нужно просто оформить в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru