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

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

Войти
Регистрация
Восстановить пароль
 
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
#1

Ввод в двумерный массив из консоли - C++

04.03.2013, 18:20. Просмотров 496. Ответов 9
Метки нет (Все метки)

Всем привет!
Надо было реализовать ввод из консоли в массив целых чисел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <clocale>
#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
void main(void){
    setlocale(LC_ALL, "Russian");
    int array[3][3];
    printf("Введите матрицу 3*3:\n");
    for(int i=1; i<=3; ++i){
        for(int j=1; j<=3; ++j){
            scanf("%d", &array[i][j]);
        }
    }
    for(int i=1; i<=3; i++){
        for(int j=1; j<=3; j++){
            printf("%d ", array[i][j]);
        }
        printf("\n");
    }
    getch();
}
Вот то, что у меня получилось...
В данном коде ввод осуществляется так: "число <ENTER> переход на след. строку" и т.д. пока не кончится...
а как сделать так чтобы ввод осуществлялся как в матрице?: т.е. допустим вводим числа 1-9:
1 2 3<ENTER> переход на след. строку
4 5 6<ENTER> переход на след. строку
7 8 9<ENTER> переход на след. строку
Заранее благодарен за помощь!
P.S. как использовать chartooem???
Понимаю, что на данный вопрос тем просто море, но! я читал и нифига не понимаю как его использовать?!
Буду очень благодарен, если мне покажут на выше указанном коде КАК это сделать.
Просто в универе С++ 6, а у меня 10...и в 6 версии setclocale походу не поддерживается(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 18:20     Ввод в двумерный массив из консоли
Посмотрите здесь:
Как с консоли можно ввести двумерный массив строчных символов? C++
Ввод данных из файла в двумерный массив C++
C++ Ввод данных в двумерный динамический массив
C++ Двумерный динамический массив. Ввод размера с клавиатуры
Динамический ввод и вывод данных в двумерный массив C++
Как поместить строки разной длинны в двумерный массив? (файловый ввод/вывод) C++
Как правильно создать двумерный массив указателей с использованием calloc? и ввод данных в него C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.03.2013, 18:35     Ввод в двумерный массив из консоли #2
Цитата Сообщение от Divil Посмотреть сообщение
а как сделать так чтобы ввод осуществлялся как в матрице?
ну так и вводите их на одной строчке. В чем проблема то?
Ввели три числа, нажали enter
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
04.03.2013, 18:56  [ТС]     Ввод в двумерный массив из консоли #3
Мда...перезанимался, вот глючю))) а что насчет остальных вопросов?)
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.03.2013, 19:56     Ввод в двумерный массив из консоли #4
CharToOem это функция из WinAPI. Посмотрите ее сигнатуру, там все предельно ясно
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
04.03.2013, 21:53  [ТС]     Ввод в двумерный массив из консоли #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
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <conio.h>
void main(void){
    float xa, ya, s, I, xb, yb;
    char t[]="Введите координаты точки А:\nxa=";
    CharToOem(t,t);
    printf("%s", t);
    scanf("%f", &xa);
    printf("ya=");
    scanf("%f", &ya);
    char l[]="Введите расстояние между точками s=";
    CharToOem(l,l);
    printf("%s", l);
    scanf("%f", &s);
    char z[]="Введите дирекционный угол I=";
    CharToOem(z,z);
    printf("%s", z);
    scanf("%f", &I);
    xb=xa+s*cos(I);
    yb=ya+s*sin(I);
    char m[]="Координаты точки B:\nxb=%.3f\nyb=%.3f\n";
    CharToOem(m,m);
    printf("%s", xb, yb);
    getch();
}
Программа работает, но выдает ошибки подобного типа при компиляции на С++ 10:
error C2664: CharToOemW: невозможно преобразовать параметр 1 из "char [37]" в "LPCWSTR"
что это значит?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.03.2013, 22:37     Ввод в двумерный массив из консоли #6
Это значит, что невозможно преобразовать )))
Если работаете в студии, то отключите Юникод в настройках проекта.
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
04.03.2013, 22:42  [ТС]     Ввод в двумерный массив из консоли #7
Огромное спасибо!)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.03.2013, 04:15     Ввод в двумерный массив из консоли #8
Цитата Сообщение от Divil Посмотреть сообщение
и в 6 версии setclocale походу не поддерживается
А такое поддерживается?
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console.
Divil
8 / 8 / 2
Регистрация: 11.04.2012
Сообщений: 611
05.03.2013, 22:49  [ТС]     Ввод в двумерный массив из консоли #9
alsav22, будет пара проверю, благодарю!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 02:36     Ввод в двумерный массив из консоли
Еще ссылки по теме:
Ввод в консоли C++
C++ Безопасный ввод с консоли
C++ Ввод строки с консоли
C++ Ввод строки с консоли
Ввод символов из консоли C++

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
06.03.2013, 02:36     Ввод в двумерный массив из консоли #10
Цитата Сообщение от alsav22 Посмотреть сообщение
setclocale
без 'c' - просто setlocale
Yandex
Объявления
06.03.2013, 02:36     Ввод в двумерный массив из консоли
Ответ Создать тему
Опции темы

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