Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Ввод двумерного массива с клавиатуры
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
MrPIT MrPIT вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.04.2006
По умолчанию Ввод двумерного массива с клавиатуры - 26.04.2006, 02:17

Господа, может кто знает.
Необходимо организовать ввод двумерного массива (C++) с клавиатуры. Ну чтобы типа по строчкам вводить.
Можно ли это организовать без разбора строк?
scanf("%d%d",mas[1],[mas[2]) не подходит так как размеры массива задаются пользователем.
Заранее спасибо!
Ответить с цитированием
  (#2 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию Re: ввод двумерного массива с клавиатуры - 26.04.2006, 07:46

Делаешь два вложенных цикла и вводишь по одному элементу
Ответить с цитированием
  (#3 (permalink)) Старый
MrPIT MrPIT вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.04.2006
По умолчанию 26.04.2006, 12:00

Например? Если делать scanf то читать он будет по одному элементу в строке. А мне нужно чтобы читал всю строку.
Ответить с цитированием
  (#4 (permalink)) Старый
wanja wanja вне форума
Member
 
Сообщений: 583
Сказал(а) спасибо: 1
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 08.05.2005
По умолчанию 26.04.2006, 12:23

Код:
for (i=0;i<n;i++)
   scanf("%d",a[i]);
А чтобы всю строку сразу.. это не Fortran, все ж таки.
Ответить с цитированием
  (#5 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию Re: ввод двумерного массива с клавиатуры - 26.04.2006, 13:41

Цитата:
Originally posted by MrPIT
[b]Можно ли это организовать без разбора строк?
А чем неудобен разбор строк?
Код:
string str;
getline(cin, str); //считываем строку, в которой числа разделены пробелом
istringstream ss(str);
while(ss >> str) {
   int i = atoi(str.c_str()); //получили очередное число
}
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Sartorius Sartorius вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2006
По умолчанию 26.04.2006, 13:54

Не нужно никакого разбора строк, для стандартных функций
ввода-вывода пробел такой же разделитель как и конец строки.
Используя вышеприведенный цикл вводить матрицу построчно,
разделяя элементы одной строки пробелами и увидите что получиться
Ответить с цитированием
  (#7 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию 26.04.2006, 15:20

Насколько я понимаю человеку нужно именно сразу всю строку считать.
Цитата:
Originally posted by MrPIT
[b]Если делать scanf то читать он будет по одному элементу в строке. А мне нужно чтобы читал всю строку.
Ответить с цитированием
  (#8 (permalink)) Старый
Sartorius Sartorius вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2006
По умолчанию 26.04.2006, 15:45

Код:
#include "stdafx.h"
#include "stdio.h"


int _tmain(int argc, _TCHAR* argv[])
{
    int array[10];
    for(int i = 0; i < 10; i++) {
  scanf("%d", array+i);
    }
    printf("n");
    for(int i = 0; i < 10; i++) {
  printf("%d ", array[i]);
    }
    return 0;
}

Введите строку целых, разделенных пробелами и нажмите enter
Ответить с цитированием
  (#9 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию 26.04.2006, 16:38

Да не спорит никто, что для scanf пробел является разделителем. Речь была не об этом.
Ответить с цитированием
  (#10 (permalink)) Старый
Sartorius Sartorius вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2006
По умолчанию 26.04.2006, 17:05

Объясните тогда мне тупому, чего товарищ хотел, вроде как я
написал и читается строка целиком.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по заполнению двумерного массива SpiritDoggy С/С++ 7 28.12.2011 20:32
Необходимо вывести 2й столбец исходного двумерного массива susuwatari Java 2 21.01.2011 12:15
Чтение двумерного массива из файла. VB6 lehador1 Visual Basic 7 27.12.2010 17:18
Ввод массива с клавиатуры chi-za Вопросы начинающих программистов 8 21.07.2008 23:21
Передача двумерного массива в функцию Spegulo Вопросы начинающих программистов 4 20.06.2008 04:03
Реализация динамического двумерного массива на С++ -R- Вопросы начинающих программистов 1 18.04.2008 18:18
Сортировка двумерного массива по возрастанию в C++ nt_soft Вопросы начинающих программистов 11 13.05.2006 21:33
Создание двумерного массива Yurik_85 Вопросы начинающих программистов 14 22.03.2006 14:02
Как создать размерность двумерного массива Cheshuya C++ Builder 1 17.11.2005 15:05
Написать программу по сортировке двумерного массива matsoft Вопросы начинающих программистов 8 05.11.2005 16:17
Сортировка двумерного массива Palmman PHP 8 11.08.2005 17:18
Ввод с клавиатуры artgonch Prolog 3 08.04.2005 12:53



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов