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

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

Войти
Регистрация
Восстановить пароль
 
Crown-Clown
2 / 2 / 0
Регистрация: 28.12.2010
Сообщений: 31
#1

Дайте пожалуйста ответы - C++

20.01.2011, 17:36. Просмотров 1152. Ответов 6
Метки нет (Все метки)

1) Почему при объявлении матрицы с одновременной инициализацией первые скобки можно оставить пустыми, а вторые нет?

2) Как вывести матрицу таблицей с колонками одинаковой ширины?

3) Можно ли просмотреть все элементы матрицы в одном цикле? и как?

4) Когда используются формальные параметры-указатели? Какими в этом случае должны быть фактические параметры?

5) Какие параметры могут быть у функции main()? Как отлаживать и тестировать программу, содержащую функцию main() с параметрами?

6) Что представляет собой индекс столбца матрицы?

7) Как обратиться к некоторому элементу матрицы через указатель на первый элемент матрицы? Как обратиться к элементу матрицы через указатель на начало матрицы?

8) Что такое побочный эффект функции?

9)Как описать функцию с переменным числом параметров? Как использовать такую функцию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2011, 17:36     Дайте пожалуйста ответы
Посмотрите здесь:

Дайте алгоритм, пожалуйста =)) C++
C++ Дайте мне, пожалуйста, готовый достаточно сложный проект на C++
дайте пожалуйста ссылку где скачать Turbo С++ C++
C++ Дайте пожалуйста рабочий пример регулярного выражения c++
C++ Дайте пожалуйста ссылку на сайт с командами
C++ Дайте, пожалуйста, контрпримеры
C++ Дайте пожалуйста формулу для движения стрелки в часах
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
20.01.2011, 17:55     Дайте пожалуйста ответы #2
2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    const int N=4;
    const int M=4;
    int mas[N][M] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
    
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {std::cout << mas[i][j] << '\t';}
        std::cout << '\n';
    }
    system("pause");
}
Crown-Clown
2 / 2 / 0
Регистрация: 28.12.2010
Сообщений: 31
20.01.2011, 17:58  [ТС]     Дайте пожалуйста ответы #3
Спасибо) то-есть \t )
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
20.01.2011, 18:01     Дайте пожалуйста ответы #4
Цитата Сообщение от Crown-Clown Посмотреть сообщение
1) Почему при объявлении матрицы с одновременной инициализацией первые скобки можно оставить пустыми, а вторые нет?
Своими словами.
При объявлении матрицы с одновременной инициализацией пустыми можно оставлять только первые скобки. Остальные измерения должны быть заданы при объявлении, потому что их значения участвуют в вычислении адреса элемента массива. Например, позиция элемента x, y в массиве А[max_x][max_y] считается как x * max_y +y. В расчетах не участвует значение первого измерения, зато обязательно наличие второго.

Цитата Сообщение от Crown-Clown Посмотреть сообщение
2) Как вывести матрицу таблицей с колонками одинаковой ширины?
Вопрос не ясен. Какими средствами? Можно это сделать, используя форматирование printf("%Nd", value[i][j]), где N = максимальная длина числа + 1.

Цитата Сообщение от Crown-Clown Посмотреть сообщение
8) Что такое побочный эффект функции?
Под побочным эффектом функции обычно понимают изменение функцией окружения за пределами функции.
Педивикия дает другое определение:
Побо́чный эффе́кт функции — возможность в процессе выполнения своих вычислений: читать и модифицировать значения глобальных переменных, осуществлять операции ввода/вывода, реагировать на исключительные ситуации, вызывать их обработчики. Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, может случиться так, что в качестве результата вычислятся разные значения. Такие функции называются недетерминированными функциями с побочными эффектами.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
20.01.2011, 18:02     Дайте пожалуйста ответы #5
1. Компилятору необходимо знать сколько элементов во вложенном массиве. Лучше использовать указатели.
2.
C
1
printf("%nd", arr[i][j]);
C++
1
cout<<std::setw(n)<<arr[i][j];
Где n - нужная ширина
3. Полагаю что не стоит этого делать.
4. При передаче массива, при надобности изменения фактического параметра...
C++
1
2
3
int foo(int* Arr);
//
foo(Arr);//Где Arr - одномерный массив фиксированного размера или с памятью выделенной в куче
C++
1
2
3
int foo(int* one);
//
foo(&i);//Где i - переменная
5.
C++
1
int main(int argc, char* argv[]);//Параметры для запуска из консоли. Где argc - кол-во параметров, argv - сами параметры. Первый параметр всегда имя программы. Для тестирования такой программы нужен запуск из коммандной строки с вводом параметров
6. Подробнее. Какой индекс, какого столбца, что значит что представляет?
7. *(Arr+N)//Где N - нужное смещение...
8. ...
9.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void foo(int one, ...)
{
    int* first=&one;
    while(*first != 0)
    {
        std::cout<<*first<<' ';
        first++;
    }
    std::cout<<'\n';
}
 
int main()
{
    foo(1,2,3,4,5,6,7,8,9,0);
    foo(1,2,3,4,0);
    return 0;
}
Еще можно через va_arg, va_list
Crown-Clown
2 / 2 / 0
Регистрация: 28.12.2010
Сообщений: 31
20.01.2011, 18:12  [ТС]     Дайте пожалуйста ответы #6
Всем большое спасибо!
Помогли)
Тема закрыта.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2011, 18:16     Дайте пожалуйста ответы
Еще ссылки по теме:

C++ Дайте,пожалуйста, совет по поводу задания
C++ Мой синглтон. Дайте рекомендации, оцените, пожалуйста
Дайте пожалуйста задачку C++
Дайте , пожалуйста, подсказки по коду C++
Функция replace(). Дайте рекомендации, пожалуйста C++

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

Или воспользуйтесь поиском по форуму:
rangerx
1923 / 1532 / 139
Регистрация: 31.05.2009
Сообщений: 2,896
20.01.2011, 18:16     Дайте пожалуйста ответы #7
Цитата Сообщение от Crown-Clown Посмотреть сообщение
3) Можно ли просмотреть все элементы матрицы в одном цикле? и как?
C++
1
2
for(int i = 0; i < m*n; ++i)
    std::cout << (*matrix)[i] << ' ';
Yandex
Объявления
20.01.2011, 18:16     Дайте пожалуйста ответы
Ответ Создать тему
Опции темы

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