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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
#1

Ромб. Что не так написал? - C++

11.09.2011, 12:13. Просмотров 1380. Ответов 16
Метки нет (Все метки)

Что не так написал?
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;
int b;
cout<<"Введите а:";
    cin>>a;
    b=(2*a)-1;
 
for (int d=0;d<a;d++){
    
for(int j=0;j<b;j++)
 
    if (j>=(a-d) && j<=(a+d))
             
    cout<<"*";
    else
     cout<<" ";
cout<<"\n";
 
}
 
for (int d=0;d<b;d++){
    
for(int j=0;j<b;j++)
 
    if (j>=d && j<(b-d))
             
    cout<<"*";
    else
     cout<<" ";
 
cout<<"\n";
}
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2011, 12:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ромб. Что не так написал? (C++):

Написал программу для решения квадратного уравнения, но что то пошло не так - C++
Написал программу по решению квадратного уравнения но я когда записываю коффиценты &quot;Vvedite kofficent a 0 Vvedite kofficent b 2 ...

написал программу для этой формулы. Скажите правильно ли я написал ее - C++
написал программу для этой формулы. Скажите правильно ли я написал ее #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

Написал программу по смене слов в строке, но нужно что бы можно было вводить слова с клавиатуры.Что нужно ? - C++
// ConsoleApplication7.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;string&gt; ...

Написал но не уверен что правильно - C++
1. Написать программу на Си для вычисления значений функции y (рис. 1) если Х изменяться от Xmin до Xmax с шагом dx. Х , Xmin, Xmax, dx...

Нарисовать ромб через цикл,почти сделал,не могу понять что делать дальше - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { int N,i; N=10; for...

Написал игру 2048 что посоветуете глядя на код ? - C++
Я начинающий, еще многого не знаю, какие будут рекомендации в плане что мне следует изучить или по синтаксису. Планировал сделать с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Чистый
Автор FAQ
2706 / 1402 / 73
Регистрация: 08.09.2011
Сообщений: 3,732
Записей в блоге: 1
11.09.2011, 12:28 #2
а что должно получиться? Воспользуйтесь тегами для вставки кода...
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
11.09.2011, 12:29 #3
Цитата Сообщение от Axiles1305 Посмотреть сообщение
void main()
int main()
0
Thinker
Эксперт C++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.09.2011, 12:33 #4
Цитата Сообщение от Axiles1305 Посмотреть сообщение
Что не так написал?
Вы хоть озвучили бы задачу или в чем проблема. Я вот тоже напишу, что не так написал: 2+2=0?

Добавлено через 1 минуту
А просто надо было пояснить, что это сложение в кольце вычетов http://www.cyberforum.ru/cgi-bin/latex.cgi?Z_4, поэтому 2+2=0.
Надо четко формулировать вопрос
0
Axiles1305
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 20
11.09.2011, 12:41  [ТС] #5
Цитата Сообщение от Thinker Посмотреть сообщение
Вы хоть озвучили бы задачу или в чем проблема. Я вот тоже напишу, что не так написал: 2+2=0?

Добавлено через 1 минуту
А просто надо было пояснить, что это сложение в кольце вычетов http://www.cyberforum.ru/cgi-bin/latex.cgi?Z_4, поэтому 2+2=0.
Надо четко формулировать вопрос
получается ромб, но кривой не много.В низ выводится нормально, а с верху почему то нет

Добавлено через 1 минуту
Цитата Сообщение от ITZver Посмотреть сообщение
int main()
int main не поможет
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
11.09.2011, 12:46 #6
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
#include <iostream>
 using namespace std;
 
int main()
 {
 setlocale(LC_ALL, "RUS");
 int a;
 int b;
 
 cout<<"Введите a: ";
 cin>>a;
 b=(2*a)-1;
 
 for (int d=0; d<a; d++){
 
    for(int j=1; j<=b; j++)
 
       if (j>=(a-d+1) &&  j <=(a+d-1))
 
           cout<<"*";
        else
           cout<<" ";
           cout<<"\n";
 }
 for (int d=0; d<b; d++){
 
     for(int j=0; j<b; j++)
 
         if (j>=d && j<(b-d))
 
            cout<<"*";
        else
            cout<<" ";
 
  cout<<"\n";
 }
 }
0
-=ЮрА=-
Заблокирован
Автор FAQ
11.09.2011, 13:01 #7
Цитата Сообщение от Axiles1305 Посмотреть сообщение
Что не так написал?
Вот подправил твой код,
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
void main()
{
    int a;
    int b;
    int d,j;
    cout<<"Enter a:";
    cin>>a;
    b=(2*a) - 1;
 
    for (d=0;d < a;d++)
    {
        for(j=0;j<=b;j++)
        if (j>=(a-d) && j<=(a+d))
            cout<<"*";
        else
            cout<<" ";
        cout<<"\n";
    }
 
    for (d=1;d<b;d++)
    {
        cout<<" ";
        for(j=0;j<=b;j++)
        if (j>=d && j<(b-d))
            cout<<"*";
        else
            cout<<" ";
        cout<<"\n";
    }
    getch();
}
На мой взгляд тяжеловесные условия
C++
1
if (j>=(a-d) && j<=(a+d))
, можно проще + всё в 2-х циклах надо делать
1
Изображения
 
-=ЮрА=-
Заблокирован
Автор FAQ
11.09.2011, 13:06 #8
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
можно проще + всё в 2-х циклах надо делать
Как и здесь Помогите плиз, как вывести это чудо на экран?
ромб разваем на 4-ри прямоугольных треугольника и их рисуем, так легче делань чем такие конструкции делать
C++
1
if (j>=(a-d) && j<=(a+d)) if (j>=d && j<(b-d))
0
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
11.09.2011, 13:09 #9
Цитата Сообщение от ITZver Посмотреть сообщение
int main()
А вот ты перевёл на integer, а вот return в конце забыл.
Умник, такой умник /facepalm.
Какая разница то , а main вообще не должна возвращать что то.
0
-=ЮрА=-
Заблокирован
Автор FAQ
11.09.2011, 13:10 #10
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for (d=1;d<b;d++)
* * * * {
* * * * * * * * cout<<" ";
вкратце об этом, в первых 2-х for уже выведена половина ромба - его основание - малая диагональ, если начнёмс неё вывод получим 2-ную диагональ, вобщем чтото типа этого

---*
--***
--***
---*

Поэтому малую диагональ выводить уже нет необходимости, начинаем со следующей строки d=1, однако это приведёт к сдвигу в пробелах вначале строки поэтому ввожу дополнительный вывод пробела cout<<" ";
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.09.2011, 13:11 #11
Цитата Сообщение от res Посмотреть сообщение
А вот ты перевёл на integer, а вот return в конце забыл.
Умник, такой умник /facepalm.
Какая разница то , а main вообще не должна возвращать что то.
По стандарту main обязан возвращать int, и по стандарту же необязательно писать return.
gcc, к примеру, void main() вообще не компилирует, т.к. фактически это грубая ошибка.
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
11.09.2011, 13:14 #12
в видовс может и не возвращать, ничего не будет. в других системах если возвращать ненулевой код, будет реакция.

Добавлено через 38 секунд
Цитата Сообщение от diagon Посмотреть сообщение
а вот return в конце забыл.
можно и не возвращать

Добавлено через 1 минуту
у страуструпа написано, что последняя строка main равноправна return
0
-=ЮрА=-
Заблокирован
Автор FAQ
11.09.2011, 13:16 #13
Цитата Сообщение от res Посмотреть сообщение
А вот ты перевёл на integer, а вот return в конце забыл.
- старые компиляторы на это да ругаются, но как отметил diagon,
Цитата Сообщение от diagon Посмотреть сообщение
По стандарту main обязан возвращать int, и по стандарту же необязательно писать return.
- это суровые реалии жизниХотя мне для себя не понятно, зачем же было в стандарте дефалтно опускать возврат, подраумевая что в норм случае мэйн нолик вернёт, а в случае ошибки возврат будет из середины тела мэйна, имхо void main аналогично работает
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
11.09.2011, 13:20 #14

Не по теме:

res, "Мы совершаем ошибки, мы все это делаем..."



Добавлено через 1 минуту
diagon, спасибо за разъяснение
Даже сам не знал. Просто, как помню, компилятор всегда ругался. Да вроде, как, и принято писать int.
0
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
11.09.2011, 13:58 #15
Цитата Сообщение от diagon Посмотреть сообщение
По стандарту main обязан возвращать int, и по стандарту же необязательно писать return.
gcc, к примеру, void main() вообще не компилирует, т.к. фактически это грубая ошибка.
По стандарту main возвращает что то? Это же бессмысленно.

К примеру, компилятор который написал мой знакомый, возвращает даже конструктор.
to code monkeys
внимание, сраказм.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2011, 13:58
Привет! Вот еще темы с ответами:

Реализовать класс "Ромб"; организовать интерактивную демонстрацию работы с массивом объектов типа "Ромб" - C++
Пользователь вводит массив Ромбов Свойства: сторона и диагональ (меньшая) Операции:  увеличение/уменьшение размера на определенный...

Обратная польская запись.Написал программу по алгоритму.Нужно кое-что изменить - C++
Преподаватель дал мне &quot;алгоритм&quot; и сказал написать программу по этому алгоритму. &quot;Алгоритм&quot;:Нам понадобится стек для переменных типа...

Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема - C++
При х=3, y= -6 после выполнения фрагмента алгоритма 1. если y&lt;x, то y=y+x 2.если y&lt;0, то y=-y 3. если x&lt;0, то a=x*2 иначе...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее? - C++
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float a,c; char b; skip: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.09.2011, 13:58
Ответ Создать тему
Опции темы

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