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

Подскажите, пожалуйста, как вывести на экран двумерный массив - C++

Восстановить пароль Регистрация
 
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
31.10.2013, 23:41     Подскажите, пожалуйста, как вывести на экран двумерный массив #1
Нужно вывести двумерный массив [5][5], состоящий только из 6, т.е.
6 6 6 6 6
6 6 6 6 6
6 6 6 6 6
6 6 6 6 6
6 6 6 6 6
и потом заменить два любых элемента на 2?
Мой вариант ввода массива, но он не работает(
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
void main()
{
int c[5][5]={6},a,b;
{
for(a=0;a<5;a++)
for(b=0;b<5;b++)
scanf("%f",&c[a][b]);
printf("%f",c[a][b]);
}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
31.10.2013, 23:42     Подскажите, пожалуйста, как вывести на экран двумерный массив #2
-Arabella-,
C++
1
2
3
4
5
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++) cout << a[i][j] << "  ";
cout << endl;
}
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
31.10.2013, 23:46     Подскажите, пожалуйста, как вывести на экран двумерный массив #3
-Arabella-,
как насчет скобок?
зачем скобка перед for?
после второго цикла нужно сделать перевод строки

Цитата Сообщение от -Arabella- Посмотреть сообщение
printf("%f",c[a][b]);
зачем выводишь плавающее, у тебя целочисленное
C++
1
2
3
4
5
6
7
8
9
for(a=0;a<5;a++)
{
 for(b=0;b<5;b++)
 {
   scanf("%i",&c[a][b]);
   printf("%d",c[a][b]);
 }
 printf("\n",c[a][b]);
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
31.10.2013, 23:55     Подскажите, пожалуйста, как вывести на экран двумерный массив #4
Цитата Сообщение от -Arabella- Посмотреть сообщение
int c[5][5]={6}
дело в том, что все непроинициализированные явно элементы массива при таком объявлении приравниваются к 0, т.е. c[0][0] = 6, а все остальные 0.
Цитата Сообщение от -Arabella- Посмотреть сообщение
Мой вариант ввода массива
вроде вывести надо, а не ввести.
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
#include <iostream>
 
int main()
{
    const int N = 5, value = 6, newvalue = 2;
    int arr[N][N];
    for (int i=0; i < N; i++)
    {
        for (int j=0; j < N; j++)
        {
            arr[i][j] = value;             // приравниваем
            std::cout << arr[i][j] << " "; // выводим на экран
        }
        std::cout << std::endl;            // перевод строки
    }
    arr[2][0] = arr[1][4] = newvalue;
    // выодим результат на экран
    std::cout << "\nResult:\n";
    for (int i=0; i < N; i++)
    {
        for (int j=0; j < N; j++)
            std::cout << arr[i][j] << " "; // выводим на экран
        std::cout << std::endl;            // перевод строки
    }
}
Лучше конечно повторяемый кусок кода (вывод массива) запихнуть в отдельную функцию, но для вас это скорее всего на 3 темы вперед.

Кстати, по стандарту пишется int main. Причина: программа должна возвращать результат работы другой программе. 0 - успешное завершение, любое другое значение - ошибка.
-Arabella-
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 231
05.11.2013, 23:07  [ТС]     Подскажите, пожалуйста, как вывести на экран двумерный массив #5
Спасибо всем за помощь Но большинство, операторов, которые вы написали, я не знаю, я писала программу простыми. Вот мой новый вариант вывода массива, все работает, только 1 элемент равен 6, подскажите, как сделать, что бы все были равны 6. Просто с этих скобках {} прописывать 25 раз 6 или есть другой способ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
void main ()
{
int с[5][5]={6};
int a,b;
printf("Matriza:\n");
for(a=0;a<5;i++)
{
for(b=0;b<5;j++)
{printf("%d",c[a][b]);
}
printf("\n",c[a][b]);
}
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
06.11.2013, 02:13     Подскажите, пожалуйста, как вывести на экран двумерный массив #6
Цитата Сообщение от -Arabella- Посмотреть сообщение
есть другой способ?
1) приравнять каждый элемент к 6 в цикле
2) использовать std::fill, но для вас даже операторы ввода/вывода сложными кажутся
Yandex
Объявления
06.11.2013, 02:13     Подскажите, пожалуйста, как вывести на экран двумерный массив
Ответ Создать тему
Опции темы

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