13. (程序题)
题目编号:Exp04-Basic07,GJBook3-06-01
题目名称:检验矩阵重复元素
题目描述:编写程序判断任意给定n*n的两维整型数组中是否有相同元素。
输入:第一行输入数组行数n(≤10),第二行随机输入n*n个整数作为数组元素值。
输出:如果数组中有相同元素,则输出YES;否则,输出NO。
样例1:
输入: 3 1 2 3 4 5 6 7 8 9
输出: NO
样例2:
输入: 3 1 1 2 3 4 5 6 7 8
输出: YES
#include <cstdio> #include <string> #include <iostream> using namespace std; void swap(int *a,int *b){ int *t = a; a = b; b = t; } int main(){ int n; cin >> n; int a[1000]; for(int i = 0;i < n*n;i++){ cin >> a[i]; } for(int i = 0;i < n*n;i++){ for(int j = 0;j < n*n-1;j++){ if(a[j] > a[j+1]){ swap(a[j],a[j+1]); } } } for(int i = 0;i < n*n;i++){ if(a[i+1] == a[i]){ cout << "YES"; return 0; } } cout << "NO"; }
9. (程序题)
题目编号:Exp04-Basic04,GJBook3-06-19
题目名称:删除重复元素
题目描述:编写函数,不使用其他辅助数组,把整型数组中重复元素删得只剩一个;所有未被删除元素都保留最先顺序移动到数组前面。
输入:第一行输入数组长度n(≤100),第二行依次从键盘随机输入n个整数作为数组元素值。
输出:已删除重复元素的数组,各元素间以一个西文空格间隔,最后一个元素后无字符。
样例1:
输入: 10 1 1 2 3 3 3 2 1 2 4
输出: 1 2 3 4
样例2:
输入: 10 1 0 2 2 2 2 2 2 2 2
输出: 1 0 2