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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
nicenice
3 / 3 / 0
Регистрация: 22.11.2011
Сообщений: 168
#1

Можно ли писать int не в самом начале? - C++

04.12.2011, 20:14. Просмотров 1332. Ответов 25
Метки нет (Все метки)

а можно ли писать "int " не в начале программы, а где захочешь?
посмотрите где у меня может быть ошибка??

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
43
44
45
46
47
48
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
char c;
printf ("tak");
c=getch();
switch (c)
{
case '1': printf("rrrrr"); break;
case '2': printf("mmmm"); break;
case '3': 
const int N=1;
const int T=2;
const int H=3;
int A[N][T],B[T][H],K[N][H];
int i=0,j=0,k=0,a;
 
printf ("BBeduTe IIePBbIy MaccuB\n");
for (i=0;i<N;i++)
for (k=0;k<T;k++)
{
scanf("%d", &A[i][k]);
}
printf ("BBeduTe BTOPOy MaccuB\n");
for (k=0;k<T;k++)
for (j=0;j<H;j++)
{
scanf("%d", &B[k][j]);
}
for (i=0;i<N;i++)
for (j=0;j<H;j++)
{
K[i][j]=0;
for(k=0;k<T;++k)                 
K[i][j]+= A[i][k]*B[k][j];
}  
for (i=0;i<N;i++)
for (j=0;j<H;j++)
{
printf("%d\n",K[i][j]);
} 
break;
}
getch();
return 1;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 20:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли писать int не в самом начале? (C++):

Ребят что означаеют две звездочки в самом начале когда объявляем массив - C++
#include &lt;iostream&gt; int main() { float *arr1, **arr2; // массив точек float **kb1, **kb2; // массивы в которых...

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять. - C++
Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все...

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Можно ли инстанцирование класса прописать в самом классе? - C++
Можно ли инстанцирование класса прописать в самом классе?

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include &lt;iostream&gt; using...

Можно ли как-то сократить объявления using в начале программы? - C++
Запариля уже объявлять каждый раз в таком роде... using std::cin; using std::cout; using std::endl; using std::string; using...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.12.2011, 17:47 #16
Цитата Сообщение от accept Посмотреть сообщение
второе определение - определение в новом стиле, когда точно указывается количество аргументов и тип каждого
Вообще-то оно означает, что функция не принимает параметры, это и контролирует компилятор!
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.12.2011, 23:23 #17
Цитата Сообщение от go Посмотреть сообщение
Вообще-то оно означает, что функция не принимает параметры, это и контролирует компилятор!
пустых аргументов не бывает, поэтому void обрабатывается, как отсутствие аргументов
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 13:45 #18
Цитата Сообщение от accept Посмотреть сообщение
пустых аргументов не бывает
В смысле??? Т.е. так писать нельзя
C
1
int fun ();
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.12.2011, 16:54 #19
go, откомпилируйте код Си-компилятором:
C
1
2
3
4
5
6
7
8
9
10
11
12
void func()
{
}
 
int main(void)
{
    func();
    func(0);
    func(0, 1);
    
    return 0;
}
А теперь этот:
C
1
2
3
4
5
6
7
8
9
10
11
12
void func(void)
{
}
 
int main(void)
{
    func();
    func(0);
    func(0, 1);
    
    return 0;
}
Почувствуйте разницу
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 17:00 #20
silent_1991, правильно, то , что и пытаюсь я объяснить accept

Цитата Сообщение от accept Посмотреть сообщение
int main(), int main(void) - это разные вещи, первое определение - определение в старом стиле (до 89 года), означающее, что функция может принимать неопределённое количество параметров неопределённого типа
второе определение - определение в новом стиле, когда точно указывается количество аргументов и тип каждого
Нет никаких аргументов.
Функция не принимает аргументы из командной строки, и компилятор это контролирует, вот что значит
C
1
int main (void)
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.12.2011, 17:23 #21
go, у меня сложилось впечатление, что как раз вы ситуацию несколько не поняли, и её вам пытается разъяснить accept. Ибо в случае с void мы фактически сообщаем компилятору, что функция принимает 0 параметров. Т.е. это подпадает под определение accept насчёт количества (0) и типа (понятно, что никакого типа нет, ведь нет и параметров) параметров. В случае же пустых скобок мы вообще ничего не сообщаем компилятору о наличии/отсутствии параметров функции.
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 17:30 #22
silent_1991, а у меня обратное впечатление
C
1
int main ()
Компилятор не контролирует, передаются параметры в функцию или нет
C
1
int main (void)
Функция не принимает параметры, и это контролирует компилятор

Цитата Сообщение от silent_1991 Посмотреть сообщение
что функция имеет 0 параметров
К сожалению, accept этого не понимает, или не может объяснить, и мы с Вами не правильно его понимаем
Цитата Сообщение от accept Посмотреть сообщение
второе определение - определение в новом стиле, когда точно указывается количество аргументов и тип каждого
Какой тип??? Их вообще нет, и не может быть, т.к.
Цитата Сообщение от go Посмотреть сообщение
Вообще-то оно означает, что функция не принимает параметры, это и контролирует компилятор!
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.12.2011, 17:34 #23
go, accept просто провёл параллель между таким:
C
1
int func(int a, int b);
- функция, принимающая 2 параметра, каждый типа int, и возвращающая int; и таким:
C
1
int func(void);
- функция, принимающая 0 параметров (не принимающая параметров) и возвращающая int.
Для общности стоит сказать, что этот стиль требует точного определения количества и типа параметров, пусть и при нуле параметров типы не указываются (их не для чего указывать).
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.12.2011, 23:53 #24
Цитата Сообщение от go Посмотреть сообщение
Функция не принимает параметры, и это контролирует компилятор
далеко не факт, что он контролирует это так, как ты думаешь
void может значит, что тип первого аргумента пустой
(аргументы пустого типа не передаются, следовательно, там нет аргументов)
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.12.2011, 10:02 #25
далеко не факт,
C++
1
2
3
4
5
6
7
8
9
10
11
12
void fun (void *a)
{
    std::cout<< * (int *) a;
}
int main(int argc, char* argv[])
{
 
    int b = 5;
    fun (&b);
 
    return 0;
}

Не по теме:

К чему этот спор.

0
fasked
Эксперт С++
4937 / 2517 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.12.2011, 10:37 #26
Цитата Сообщение от go Посмотреть сообщение
далеко не факт
Ну как бы void и void * разные вещи. Складывается впечатление, что вы об одном и том же говорите.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 10:37
Привет! Вот еще темы с ответами:

Можно писать в консоли 20 шрифтом - C++
программа сделана в турбо 3_0 я хочу пронумеровать четырехугольник от 1 до 7 по координатам х и у 20 шрифтом это можно зробтит в консоли...

Если if не выполняется, то можно не писать else? - C++
Например, код: if (a==true) cout &lt;&lt; &quot;a true&quot;; else cout &lt;&lt; &quot;a false&quot;; Можно заменить на? if(a==true) cout &lt;&lt;...

Можно ли писать вложенные лямбды? (с++11) - C++
Можно ли писать вложенные лямбды? Вот такая конструкция server.exec( ( Socket *sock ){ Client client( sock ); sock-&gt;recv( (...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...


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

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

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