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

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

Войти
Регистрация
Восстановить пароль
 
mr_Eugene
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 18
#1

Не удается вывести массив - C++

27.11.2012, 01:54. Просмотров 297. Ответов 2
Метки нет (Все метки)

Доброго времени суток ,уважаемые форумчане.Подскажите пожалуйста в чем моя ошибка.Дан двумерный массив,изначально размер которого задан константами.Суть задачи такова:пользователь задает размер массива меньший, чем константный размер,вводит элементы массива.Необходимо организовать контрольный вывод ,введенного массива.В дальнейшем из строк массива по определенному условию будет формироваться новый массив.Динамический массив не использовать.Спасибо заранее
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
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
  #pragma hdrstop
 
  //---------------------------------------------------------------------------
 
  #pragma argsused
  int main(int argc, char* argv[])
  {
  const int ni=20;
  const int mi=20;
  int n,m,i,j;
  char c;
  int x[ni][mi];
  int y[ni][mi];
   //Ввод n
  do
    {
     puts("Hello,please enter size n of massive.Remember that n must be >=1");
     do
       {
        scanf("%d",&n);
        if (n<1) puts("Error,please enter n=>1");
       }
        while (n<1);
     puts("Good,please enter size m of massive.Remember that m must be >=1");
     int i=0;
     int j=0;
     //Ввод m
     do
       {
        scanf("%d",&m);
        if (m<1) puts("Error,please enter m=>1");
       }
     while (m<1);
        do
          {
           //Ввод данных
           do
             {
              printf("Write %d element of massive x[i] ",i+1);
              scanf("%d",&x[i]);
              if (i<n)
              i++;
             }
           while (i<n);
          printf("Write %d element of massive j[i] ",j+1);
          scanf("%d",&x[j]);
          if (j<m)
          j++;
           }
        while (j<m);
     //Контрольный вывод массива
      puts("Ok,massiv creating has been complited: ");
      for (i=0;i<n;i++)
         {
           for (j=0;j<m;j++)
               printf("%d",x[i][j]);
               printf("\n");
         }
 
     printf ("\nOperation completed,Do you want to continue? (y/n)\n");
     fflush(stdin);
     scanf ("%c" , &c);
     }
  while (c=='y');
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 01:54     Не удается вывести массив
Посмотрите здесь:

C++ Необходимо вывести на экран первоначальный массив и полученый массив
C++ задача записать в массив отрицательные элементы матрицы в массив и вывести их
Упорядочить массив по невозрастанию элементов. вывести получившийся массив C++
C++ Дан массив натуральных чисел А[m,n] и число а. Вывести этот массив на экран, вычислит количество элементов равных а и вывести их индексы
Не удается запустить программу. Не удается найти указанный файл C++
Заменяемые значения вывести в массив В. Вывести на экран полученную матрицу и массив B. C++
C++ Вывести массив на экран в виде таблицы, в конце каждой строки надо вывести минимальный элемент
MS visual Studio 2012 Не удается запустить программу. Не удается найти указаный файл C++
C++ Не удается запустить программу. Не удается найти указанный файл. Microsoft visual studio
C++ Создать линейный массив, отсортировать его в другой массив, вывести адрес всех елементов
C++ Создать линейный массив, отсортировать его в другой массив, вывести адрес всех елементов
Не удается запустить программу в VS2010: "Не удается найти указанный файл" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
27.11.2012, 04:35     Не удается вывести массив #2
А циклы for ты специально избегал?

И, кстати, поплатился за это.
C++
1
2
3
4
5
6
7
8
do
             {
              printf("Write %d element of massive x[i] ",i+1);
              scanf("%d",&x[i]);
              if (i<n)
              i++;
             }
           while (i<n);
Сюда входит уже после (i<n), т.к. проверка на условия происходит не до выполнения, а следом.
mr_Eugene
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 18
27.11.2012, 16:13  [ТС]     Не удается вывести массив #3
Поменял циклы.Сделал ввод через for.Спасибо ,заработало)
Yandex
Объявления
27.11.2012, 16:13     Не удается вывести массив
Ответ Создать тему
Опции темы

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