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

Вывод двумерного массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 139, средняя оценка - 4.79
d[i]mka
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 3
26.05.2010, 20:04     Вывод двумерного массива #1
Ребят, подскажите, как исправить, пожалуйста! Массив 7x7 нужно, чтобы так и выводился: семь строк, семь столбцов, а почему-то в строчку выводится((((
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
49
#include<stdio.h>
#include<stdlib.h>
void main()
{
 int i, s, t, j, mas[7][7], B[49], C[49];
 s=0;
 t=0;
 randomize();
 for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   mas[i][j]=rand()%100;
   printf("%4d", mas[i][j]);
   }
  }
  printf("\n");
  
 for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   if(mas[i][j]%2==0&&mas[i][j]!=0)
   {
    B[t]=mas[i][j];
    t++;
    }
   else
   {
    C[s]=mas[i][j];
    s++;
    }
   }
  }
 
  printf("vektor B:");
  for(i=0; i<t; i++)
  {
  printf("%4d", B[i]);
  }
  printf("\n");
 
  printf("vektor C:");
  for(i=0; i<s; i++)
  {
  printf("%4d", C[i]);
  }
  printf("\n");
  }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
26.05.2010, 20:05     Вывод двумерного массива #2
C++
1
2
3
4
5
6
const int size=7;
 
for (int i=0; i<size; i++) {
    for (int j=0; j<size; j++)
        std::cout << " " << MAS[i][j];
    std::cout << std::endl; }
d[i]mka
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 3
26.05.2010, 20:13  [ТС]     Вывод двумерного массива #3
Спасибо. А куда этот фрагмент вставить? что-то не понял(((
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
26.05.2010, 20:18     Вывод двумерного массива #4
Когда хотите вывести массив, туда и вставляйте.

Добавлено через 2 минуты
Вот ваш первоначальный фрагмент:
C++
1
2
3
4
5
6
7
8
9
for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   mas[i][j]=rand()%100;
   printf("%4d", mas[i][j]);
   }
  }
  printf("\n");
А правильно так:
C++
1
2
3
4
5
6
7
8
9
for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   mas[i][j]=rand()%100;
   printf("%4d", mas[i][j]);
   }
printf("\n");
  }
d[i]mka
0 / 0 / 0
Регистрация: 26.05.2010
Сообщений: 3
26.05.2010, 20:28  [ТС]     Вывод двумерного массива #5
Делаю так
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
49
50
51
52
53
54
55
56
#include<stdio.h>
#include<stdlib.h>
#include <iostream.h>
#include <conio.h>
void main()
{
 int i, s, t, j, mas[7][7], B[49], C[49];
 s=0;
 t=0;
 randomize();
 for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   mas[i][j]=rand()%100;
   }
  }
 
   const int size=7;
   for (int i=0; i<size; i++)
   {
    for (int j=0; j<size; j++)
    std::cout << " " << MAS[i][j];
    std::cout << std::endl; }
  
 for(i=0; i<7; i++)
 {
  for(j=0; j<7; j++)
  {
   if(mas[i][j]%2==0&&mas[i][j]!=0)
   {
    B[t]=mas[i][j];
    t++;
    }
   else
   {
    C[s]=mas[i][j];
    s++;
    }
   }
  }
 
  printf("vektor B:");
  for(i=0; i<t; i++)
  {
  printf("%4d", B[i]);
  }
  printf("\n");
 
  printf("vektor C:");
  for(i=0; i<s; i++)
  {
  printf("%4d", C[i]);
  }
  printf("\n");
  }
Говорит ошибки:
20: Multiple declaration for 'i';
23: Type qualifier 'std' must be a struct or class name
24: Type qualifier 'std' must be a struct or class name

Добавлено через 4 минуты
Спасибо большое! Все исправил, теперь правильно выводится)))
Seha
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 3
22.01.2015, 01:15     Вывод двумерного массива #6
На С будет так (можно вводить размеры матрицы вручную - думаю если надо будет, то ты сам изменишь):
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
#include <Windows.h>
#include <iostream>
#include <ctime>
 
using namespace std;
 
void main()
{   
int i, j;
int a[7][7]; // размер массива
srand((int)time(0)); // генератор случайных цифр
 
for (i = 0; i < 7; ++i)
    for (j = 0; j < 7; ++j)
    {
        a[i][j] = rand() % 10; // считаем случайную цифру в пределах от 0 до 10
            }
    for (i = 0; i < 7; ++i)
    {
        for (j = 0; j < 7; ++j)
        {
            cout << a[i][j] << ' '; // вывод числа через пробел
        }
        cout << "\n"; // с новой строчки чтобы было красивее
    }
}
Yandex
Объявления
22.01.2015, 01:15     Вывод двумерного массива
Ответ Создать тему
Опции темы

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