c++-C++的cin怎么输入一个矩阵?

问题描述

C++的cin怎么输入一个矩阵?
例如输入:
1 2 3
4 5 6
怎么用cin输入,最好能保存为vector>类型的二维向量。

解决方案

 #include <iostream>#include <sstream>#include <vector>#include <string>using namespace std;void input_vector (vector<vector<int>>&);int main (){    vector<vector<int>> vec;    input_vector (vec);    vector<vector<int>>::iterator it = vec.begin ();    for (; it != vec.end (); ++it) {        vector<int>::iterator i = it->begin ();        while (i != it->end ()) {            cout << *i++ << "" "";        }        cout << endl;    }    return 0;}void input_vector (vector<vector<int> >& vec){    vector<int> v;    while (!cin.eof()) {        int tmp(0);        v.clear ();        string line;        getline(cin line);        istringstream ss(line);        while (ss>>tmp) {            v.push_back (tmp);        }        vec.push_back (v);    }}

解决方案二:
按行输入,然后一行数据,自己在用空格等分割截取各个元素

解决方案三:
输入Ctrl-z表示输入结束

解决方案四:
感谢各位大神,我就不一一回复了

时间: 2024-11-05 04:50:54

c++-C++的cin怎么输入一个矩阵?的相关文章

c++ cin-关于C++输入cin的问题,下面的程序,如果输入一个字符,那就将陷入死循环,为什么?

问题描述 关于C++输入cin的问题,下面的程序,如果输入一个字符,那就将陷入死循环,为什么? #include main() { int i; while(i!=-1) { cout<<"i=" cin>>i; cout< } } 上面的程序,如果输入的不合法,比如输入一个字符,那就将陷入死循环.解决的办法 有个一,把cin>>i;语句移到判断循环的语句,那么输入的如果是不合法的变量,他将跳出循环 . 解决方案 是不是将i转化为对应的ASCI

C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析

以下是对C++中输入一个字符串,把其中的字符按照逆序输出的两种方法进行了详细的分析介绍,需要的朋友可以过来参考下   用字符数组方法:基本思路是,先判断字符的结束标志'',然后从该位置向前输出.实现代码: 复制代码 代码如下: #include<iostream> using namespace std; int main(){  char a[50];  cout<<"please input a string:";  cin>>a;  int i

c++-我是以回车键结束输入成绩的.可是我输入一个成绩之后输入第二个成绩时.也要按回车.

问题描述 我是以回车键结束输入成绩的.可是我输入一个成绩之后输入第二个成绩时.也要按回车. 输入任意人数的成绩并统计成绩,应如何修改程序?试修改程序并调试运行. 代码: #include using namespace std; int main() { int a,b,c,d,e,i; a=b=c=d=e=0; i=0; do { i=i++; cout<<"请输入第"< cin>>a; while(a100) { cout<<"输

在主函数中输入一个字符串str1,调用函数。

问题描述 在主函数中输入一个字符串str1,调用函数. 在主函数中输入一个字符串str1,调用函数chage(str1,N);将str1 中的小标为奇数的字符取出构成一个新的字符串放入字符串str2中.然后在主函数中输出字符串str2.运用到数组的引用. #include #define N 10 using namespace std; void chage(char str2[],int n); int main() { char str1[N]; for(int i=0;i cin>>s

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names

c语言-输入一个十进制整数,依次转换成2到16进制数

问题描述 输入一个十进制整数,依次转换成2到16进制数 求大神帮帮忙做一下 我刚刚学C语言 程序代码 弄了好久都没弄出来 大神帮忙编一个程序代码 ,谢谢了 解决方案 #include <iostream> using namespace std; char metachar[] = "0123456789abcdef"; void tobasen(int x, int n) { if (x > 0) { tobasen(x / n, n); cout <<

输入一个字符串,取出其中的整数(实现代码)_C 语言

题目:输入一个字符串,内含所有数字和非数字字符.将其中连续的数字作为一个整数,依次存放到一个数组中,统计共有多少个整数,并输出这些数. 复制代码 代码如下: #include<iostream>using namespace std;int main(){    int a[30]={0};    char str[200];    cout<<"请输入一个含有数字的字符串\n"<<endl;    cin>>str;    bool f

(八十八)对非char类型在cin时输入字符

代码: #include<iostream> const int max = 5; int main() { using namespace std; double fish[max]; cout << "Please enter the weights of your fish.\n"; cout << "You may enter up to " << max << " fish <q

声明一个矩阵类Matrix,实例方法:转置、两个矩阵求和

问题描述 有这么个问题不会写~求助!声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置.求两个矩阵的和. 解决方案 解决方案二:笨了吧,你问问题都没说明白,你不是要用java写一个类吗,这个类要有基本的实例方法:一个是将矩阵转置,一个是求两个矩阵的和.具体的如何声明定义这个类你不清楚是吧?假设是M*N阶矩阵,矩阵里面的数据元素如何存放啊?定义一个二维数组呗,floatMatrix[m][n];用来存放矩阵数据元素.至少要有这个基本的变量,设为私有变量吧.两个实例方法,也就是函数,你可