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

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

Войти
Регистрация
Восстановить пароль
 
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
#1

Массивы (не вводится полностью матрица с буквами A и B) - C++

20.09.2013, 01:36. Просмотров 383. Ответов 4
Метки нет (Все метки)

У меня не вводится полностью матрица с буквами A и B,к примеру создав матрицу 5 на 6,я всего ввожу 1 ряди меня компилятор выкидывает.Спасибо
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
#include <stdio.h>
#include <conio.h>
 
int main () {
   int w,h,d;
    printf(" Vvedite w pri uslovii w>=1\n");
    scanf ("%d",&w);
    printf(" Vvedite h pri uslovii h<=100\n");
    scanf ("%d",&h);
    char **mas;
    mas = new char *[w];
    for (int i = 0; i < w; i++)
        mas[i] = new char [h];
   printf ("Oboznach'te territoriyu gosudarstv bykvami A i B \n");
    for (int i = 0; i < w; i++) {
        for (int j = 0; j < h; j++)
         scanf ("%c", &mas[i][j]);
    }
    d=0;
   for (int i = 0; i < w; i++) {
        for (int j = 0; j < h; j++)
    { if (j > 0){
        if (mas[i][j] != mas[i][j-1])
        {d++;}}
        if (i>0){
        if (mas[i][j] != mas [i-1][j])
        {
            d++;}}
 
        }
 
 
    }
printf("d=%d",d);
 
    delete [] mas;
    getch();
    return 0;
}
к примеру входные данные:
5-w 6-h
AAABB
ABBBB
AAABB
AAAAB
AAAAB
AABBB
выходные-13
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2013, 01:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы (не вводится полностью матрица с буквами A и B) (C++):

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

Матрица B, содержащая целые числа, вводится с клавиатуры - C++
Матрица B, содержащая целые числа, вводится с клавиатуры. Найти максимальный и минимальный элементы матрицы и поменять их местами.

С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица - C++
доброе время суток )помогите пожалуйста с задачкой,если кому не сложно ) 3. С клавиатуры вводится размерность целочисленной матрицы,...

Динамическая матрица, размерность вводится с клавиатуры, обнулить элементы стоящие на главной и ниже - C++
Имею задание: Ввести с клавиатуры N (натуральное число не превышает 7). Сформировать целочисленную матрицу X с помощью датчика случайных...

С клавиатуры вводится размер матрицы и сама матрица. Найти в матрице строку с максимальной суммой и отсортиров - C++
С клавиатуры вводится размер матрицы и сама матрица. Найти в матрице строку с максимальной суммой и отсортировать

Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { setlocale(LC_ALL,&quot;Russian&quot;); int...

4
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
20.09.2013, 08:28 #2
Ты так и вводишь:
5-w
?
После каждой введенной буквы надо нажимать Enter.
0
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
20.09.2013, 08:49 #3
Sivilan, у меня этот код работает, но последняя строка не вводится. Проблема в том, что ты не учитвыешь, что строки в С заканчиваются символом \0. Получается, что у тебя при 5-w 6-h можно ввести только 5 строк, потому что вместо строки AAABB у тебя вводится строка AAABB и завершающий ноль, который к тому же записывается в элемент mas[1][0]. Дальше соответственно у тебя всё смещается и получается, что при пяти строках твой ввод уже отработал, потому что в 5 строках у тебя получается 30 элементов.
Теперь, я думаю, понятно, что надо сделать, чтоб всё работало. Нужно инициализировать строки с запасом на завершающий ноль, т. е.
C++
1
mas[i] = new char [h+1];
и чуток исправить вложенный цикл ввода
C++
1
for (int j = 0; j <= h; j++)
1
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
20.09.2013, 09:31  [ТС] #4
lipnev, То есть сделать так
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
#include <stdio.h>
#include <conio.h>
 
int main () {
   int w,h,d;
    printf(" Vvedite w pri uslovii h<=100\n");
    scanf ("%d",&h);
    printf(" Vvedite h pri uslovii w>=1\n");
    scanf ("%d",&w);
    char **mas;
    mas = new char *[h+1];
    for (int i = 0; i < h; i++)
        mas[i] = new char [w];
   printf ("Oboznach'te territoriyu gosudarstv bykvami A i B \n");
    for (int i = 0; i < h+1; i++) {
        for (int j = 0; j < w; j++)
         scanf ("%c", &mas[i][j]);
    }
    d=0;
   for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++)
    { if (j > 0){
        if (mas[i][j] != mas[i][j-1])
        {d++;}}
        if (i>0){
        if (mas[i][j] != mas [i-1][j])
        {
            d++;}}
 
        }
 
 
    }
printf("d=%d",d);
 
    delete [] mas;
    getch();
    return 0;
}
0
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
20.09.2013, 09:50 #5
Да.
0
20.09.2013, 09:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2013, 09:50
Привет! Вот еще темы с ответами:

Массивы, матрица - C++
помогить плиз сделать задачу!!! дан двумерный массив размерностью 6х5, заполненый целыми числами. сформировать одномерный массив,...

Массивы и матрица - C++
1.Составить алгоритм, который вычисляет и вводит на печать сумму квадратов чётных чисел от 2 до 20. 2.В одномерном массиве, состоящем из...

[C++] Массивы и матрица - C++
Привет всем. Мне очень нужна ваша помочь. Нужно сдать отчет по практике, а в нём есть задачки, которые я не могу посилить. 1. Вывести...

Содержимое матрицы размерности n x n повернуть на 90 по часовой стрелке вокруг центра симметрии матрицы. Исходная матрица вводится из файла - C++
Help me plz


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

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

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