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

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

Войти
Регистрация
Восстановить пароль
 
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
#1

Не происходит замена в двумерном массиве - C++

09.02.2013, 20:07. Просмотров 341. Ответов 2
Метки нет (Все метки)

Не могу произвести замену цифр,с 0 1 2 на a b c;
Подскажите в чем ошибка?

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int main(){
    const int n(3);
    const int m(4);
 
    int arr[n][m],b,i,j;
 
  cout << "Enter " << m << " space separated values for each row" << endl;
    for (  i = 0; i < n; ++i ){
        cout << "Row #" << ( i + 1 ) << ": ";
        for (  j = 0; j < m; ++j )
            cin >> arr[i][j];
    
        b=arr[i][j];
        if (b == 0)
                            arr[i][j] = 'a';
                        if (b == 1)
                           arr[i][j] = 'b';
                        if (b == 2)
                            arr[i][j] = 'c'; 
    }
    
   cout <<endl;
    for ( int i = 0; i < n; ++i )
        for ( int j = 0; j < m; ++j )
           cout << arr[i][j] << ( j < m - 1 ? "" : "\n" );
 
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2013, 20:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не происходит замена в двумерном массиве (C++):

Замена столбцов в двумерном массиве - C++
Дана матрица размера M x N. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы.

Замена элементов в двумерном массиве - C++
В общем, всем здравствуйте. Проблема такая - написал код, который должен заменять элементами из верхнего синего треугольника элементы...

Поиск элементов и замена в двумерном массиве - C++
В массиве все элементы ,стоящие выше максимального элемента,заменить на максимальный элемент первого столбца! Есть часть кода где...

Замена строки на столбец в двумерном массиве - C++
Здравствуйте! Требуется решить задачку следующего характера: В квадратной матрице A определить номер столбца матрицы, имеющего...

Ассоциативные контейнеры, не происходит замена - C++
Вопрос вот какой: модификация контейнера map&lt;int,int&gt;. Сначала я забиваю в него 90 тысяч 5-рок, а потом некоторые из них я должен заменит...

Потерялся в двумерном массиве - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale (LC_ALL, &quot;Russian&quot;); const int m=6, n=4; int a; int x...

2
abit
271 / 270 / 34
Регистрация: 03.02.2013
Сообщений: 754
09.02.2013, 20:18 #2
у вас цикл
C++
1
for (  j = 0; j < m; ++j )
завершается после
C++
1
cin >> arr[i][j];
далее j принимает значение = m и там никакой матрицы нет, она в области a[i][0..m) а не a[i][0..m]

введите операторные скобки, например так:
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
#include <iostream>
 
using namespace std;
 
int main(){
    const int n(3);
    const int m(4);
 
    int arr[n][m],b,i,j;
 
  cout << "Enter " << m << " space separated values for each row" << endl;
    for (  i = 0; i < n; ++i ){
        cout << "Row #" << ( i + 1 ) << ": ";
        for (  j = 0; j < m; ++j )
        {
            cin >> arr[i][j];
    
        b=arr[i][j];
        if (b == 0)
                            arr[i][j] = 'a'; 
                        if (b == 1)
                           arr[i][j] = 'b';
                        if (b == 2)
                            arr[i][j] = 'c'; 
    }
}
   cout <<endl;
    for ( int i = 0; i < n; ++i )
        for ( int j = 0; j < m; ++j )
           cout << (char)arr[i][j] << ( j < m - 1 ? "" : "\n" );
 
}
1
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
09.02.2013, 21:46  [ТС] #3
Спасибо.
По ходу дела возник еще один вопрос.
Подскажите как сделать чтобы выполнялись следующие действия...
Программа брала первую строку.И проверяла ее на условие например.
C++
1
if(arr[0][0]=='a' & arr[0][1]=='c')
Если строчка подходит то она спрашивает:продолжить? Если пишешь да,продолжаем,а если нет,то происходит вывод результата.
А то я что то запутался в циклах и не пойму что куда писать..

Добавлено через 46 минут
...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2013, 21:46
Привет! Вот еще темы с ответами:

Палиндром в двумерном массиве - C++
Задача звучит так :С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти строку, порядок элементов которой...

Строки в двумерном массиве - C++
Здравствуйте! Хочу прояснить некоторые моменты по работе с двумерным массивом. Достичь хочу следующего: есть строки с фразами string...

Динамика в двумерном массиве - C++
Всем привет. Подскажите, пожалуйста, реально ли реализовать такое. Есть заранее найденное n - не константа. Нужно, чтобы массив...

Указатели в двумерном массиве - C++
Например есть массив int** mas=new int*; for(int i=0; i&lt;=str;i++) mas=new int; for (int i=0; i&lt;str; i++ ) for (...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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