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

некорректный вывод результата - C++

Восстановить пароль Регистрация
 
inesta
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 19
22.04.2010, 20:22     некорректный вывод результата #1
Суть программы: Пользователь вводит число (например 4), программа печатаем квадрат со сторонами соответственно 4*4 в виде * (звездочек). Теперь проблема: квадрат то выводит, а вот в конце еще символ лишний, которой там вообще не нужен. Может напутал что-то с типами переменных. Программу реализовать с помощью функции. (это сделано =))
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
#include<iostream.h>
#include<conio.h>
 
char side(int);
 
main()
{
      cout << "Side: ";
      int x;
      cin >> x;
 
      cout << side(x) << endl;
 
getch();
return 0;
}
 
char side(int y)
{
       for(int i = 0; i < y; i++)
       {
           for(int j = 0; j < y; j++)
           {
               cout << "*";
           }
 
       cout << '\n';
       }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2010, 20:22     некорректный вывод результата
Посмотрите здесь:

Структуры, некорректный вывод C++
Некорректный вывод текста C++
Некорректный вывод строки C++
C++ Некорректный вывод
некорректный вывод программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Джирайя
3 / 3 / 0
Регистрация: 20.04.2010
Сообщений: 64
22.04.2010, 20:26     некорректный вывод результата #2
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
#include<iostream.h>
#include<conio.h>
 
void side(int);
 
main()
{
      cout << "Side: ";
      int x;
      cin >> x;
 
      side(x);
 
getch();
return 0;
}
 
void side(int y)
{
       for(int i = 0; i < y; i++)
       {
           for(int j = 0; j < y; j++)
           {
               cout << "*";
           }
 
       cout << '\n';
       }
}
попробуй так
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
22.04.2010, 20:29     некорректный вывод результата #3
У вас функция side объявлена типа char, а на самом деле, она ничего не возвращает.
Из main достаточно просто вызвать side, и передать ей значение y.
Код.
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
#include<iostream>
 
void side(int);
 
int main()
{
    std::cout << "Side: ";
    int x;
    std::cin >> x;
        
    side(x);
    system("pause");
    return 0;
}
 
void side(int y)
{
    for(int i = 0; i < y; i++)
    {
        for(int j = 0; j < y; j++)
        std::cout << "*";
    std::cout << '\n';
    }
}
inesta
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 19
22.04.2010, 20:48  [ТС]     некорректный вывод результата #4
Джирайя и neske спасибо огромное. Работает. Я только начал разбираться с ф-ми. То есть выходит тип значение возвращаемое функцией воид, а параметра инт. Не могу понять почему не возвращает?
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
22.04.2010, 20:54     некорректный вывод результата #5
void, само по себе означает, что функция ничего не возвращает.
И с типом аргумента это никак не связано.
inesta
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 19
22.04.2010, 21:02  [ТС]     некорректный вывод результата #6
Цитата Сообщение от neske Посмотреть сообщение
void, само по себе означает, что функция ничего не возвращает.
И с типом аргумента это никак не связано.
Все разобрался Внимательно перечитал и плюс ваш пост. Спасибо
Yandex
Объявления
22.04.2010, 21:02     некорректный вывод результата
Ответ Создать тему
Опции темы

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