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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
saphiron
Сообщений: n/a
#1

[C++] Хелп в чем ошибки - C++

05.01.2012, 01:04. Просмотров 1108. Ответов 24
Метки нет (Все метки)

1) составить программу, котороя распечатывает значения функций 10*N,100*N и 1000*N, для N=1....10 с шагом изменения N равным 2.

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream> 
use namespace std; 
 
int main() 
{ 
for (int n = 1; n <= 10; n += 2) 
{ 
cout << n * 10 << " " << n * 100 << " " << n * 1000 << "\n"; 
} 
return 0; 
}

2) найти произведение элементов произвольной матрицы,которое кратное 5

C++
1
2
3
4
5
6
7
8
9
#include <iostream> 
 
int main(){ 
int p=1; 
for(int i=0; i<n; i++) 
for(int j=0; j<m; j++) 
if (!matrix[i][j]%5) p*=matrix[i][j]; 
cout << p << endl; 
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 01:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос [C++] Хелп в чем ошибки (C++):

в чем ошибки? - C++
Написать функцию, находящую индекс первого минимального элемента массива. Написать программу, проверяющую работу этой функции. почему...

В чем ошибки? - C++
{#define M 15 int k, b; int i, j; ... /*ввод b */ while(j&lt;j) if (i&gt;j) then b--; }

В чем ошибки - C++
// The header file Sort.h #include&lt;iostream&gt; #include&lt;cassert&gt; using namespace std; template&lt;class T&gt; inline void swap(T...

В чем ошибки ? - C++
#include&lt;iostream&gt; using namespace std; int main() { const int n = 10; int mas; int i;

В чем причина ошибки? - C++
помогите разобраться почему выходит ошибка? #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

В чем причина ошибки? - C++
Код int main() { char arr; scanf(&quot;%s %s&quot;, &amp;arr, &amp;arr); printf(&quot;%s\n\n&quot;, arr);

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.01.2012, 15:19 #16
silent_1991, смотря как настроен. Вот
Код
cc1plus: warnings being treated as errors
In function 'int foo()':
Line 3: warning: control reaches end of non-void function
http://codepad.org/AHvRxoB8
Студия 10 тоже не пропускает, говорит ошибка. Все как Вы ожидали

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Согласен. Если
Так писать нельзя, это не по стандарту. Это ошибка (undefined behavior)

А вот так можно
C++
1
2
3
int main ()
{
}
Добавлено через 58 секунд
http://codepad.org/Ggy7D6hU
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2012, 15:27 #17
taras atavin, вы что, наотрез отказываетесь воспринимать то, что вам говорят? По стандарту если компилятор не находит в функции main ни одного return, он вставляет в конец функции код, эквивалентный return 0. При том, что в стандарте определены всего две перегрузки функции main:
C++
1
2
int main();
int main(int, char **);
Ни одна из них, как видите, не возвращает void, так что ваши оговорки на счёт void main() ошибочны.

Добавлено через 1 минуту
go, само собой, смотря как настроен. В данном случае все предупреждения трактуются как ошибки, но от этого предупреждение не перестаёт быть таковым. Так что это не ошибка. А в плане стандарта я gcc доверяю куда больше, чем студии.
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.01.2012, 15:32 #18
silent_1991, А если откомпилит, то что вернет?
C++
1
2
3
4
5
int foo () {}
int main ()
{
    int a = foo () ; //мусор? 
}
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.01.2012, 15:35 #19
Цитата Сообщение от silent_1991 Посмотреть сообщение
При том, что в стандарте определены всего две перегрузки функции main:
C++
1
2
int main();
int main(int, char **);
Ни одна из них, как видите, не возвращает void, так что ваши оговорки на счёт void main() ошибочны.
Я ваще то на отсебятину намекал.
0
NoMasters
Псевдослучайный
1754 / 1097 / 72
Регистрация: 13.09.2011
Сообщений: 3,134
06.01.2012, 15:38 #20
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
alex@mbook ~ $ cat tmp.c 
#include <stdio.h>
int some()
{
        //do noting
}
 
int main()
{
        printf("%d\n", some());
}
alex@mbook ~ $ gcc tmp.c
alex@mbook ~ $ ./a.out 
0
alex@mbook ~ $
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.01.2012, 15:38 #21
Но раз ты так не понимаешь, напишу явно. Ретон в мэйне не нужен, если какой нибудь уникум в нарушение стандарта прикрутит к компилятору
C++
1
void main()
, а другой уникум этим воспользуется.
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2012, 15:42 #22
go, думаю, зависит от компилятора. Например mingw мне только что вернул 0 (О_о), а liveworkspace.org, где честный g++, вернул мусор.

taras atavin, не знаю, на что вы там намекали, я же намекал только лишь на стандарт.

Добавлено через 1 минуту
taras atavin,

К вышесказанному. Проверялось всё это плюсовым компилятором (меня интересовало именно его поведение).
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.01.2012, 15:45 #23
И неявный return 0 во-первых всё равно return 0, во-вторых где гарантия, что это везде учтено, а в-третьих это источник сюрпризов в том случае, если потом воткнёшь return под if, switch, или else.
0
go
06.01.2012, 15:48
  #24

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
И неявный return 0 во-первых всё равно return 0, во-вторых где гарантия, что это везде учтено,
Гарантия - стандарт.

0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.01.2012, 15:55 #25
taras atavin, во-первых, неявный return 0 это неявный return 0. Ни больше, ни меньше. Во-вторых, мне наплевать на везде. Надо писать по стандарту, а не учитывать всякие borland 3.1. А в-третьих, надо думать, что пишешь. Если чувствуешь, что можешь налететь на такой вот сюрприз нежданно-негаданно, не надо пользоваться соответствующей возможностью языка. Я никогда не использую неявный return 0. Не потому, что боюсь налететь на сюрприз. А просто потому, что мне непривычно, что функция возвращает значение, а return нет. Для меня это выглядит как new без delete.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 15:55
Привет! Вот еще темы с ответами:

В чем ошибки кода? - C++
Для каждого x, изменяющегося от a до b с шагом h, найти значение функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения...

Подскажите пож. в чем ошибки!? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #define L 80 #define STOP &quot;*&quot; ...

В чем причина ошибки no match for? - C++
Видает ошибку no match for 'operator=' in 'C = RyadokIdentifier::operator+(const RyadokIdentifier&amp;)((*(const RyadokIdentifier*)(&amp; B)))' ...

В чем причина ошибки istream - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.


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

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

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