Vị trí số âm c++ Nhập vào một dãy N số nguyên A1,A2,...,AN (N≤10000,|Ai|≤109). Hãy in ra màn hình chỉ số phần tử âm đầu tiên và cuối cùng. Dữ liệu vào: Dòng đầu tiên chứa số N Dòng thứ 2 chứa N số nguyên A1,A2,...,AN. Kết quả: In ra chỉ số phần tử âm đầu tiên và cuối cùng, nếu ko có phần tử âm nào thì in ra 2 số −1 −1 Sample Input 7 7 -6 -4 19 -22 51 -82 Sample Output 2 7

2 câu trả lời

#include <iostream>
#include <deque>
using namespace std;

deque<int> a;
int n,x;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin >> n;
    for (int i = 1;i <= n;i++) {
        cin >> x;
        if (x < 0) a.push_back(i);
    }
    if (a.empty())
        cout << "-1 -1";
    else
        cout << a.front() << ' ' << a.back();
}

#include <iostream>
#include <cmath>
#include <math.h>
#include <string>
#include <queue>
#include <stack>
#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <bitset>
#include <deque>
#include <vector>
#include <map>
#include <fstream>
#define ll long long
#define ull unsigned long long
#define ar array;
using namespace std;

//Code dev by
//Copyright(C)
//Using C++
//And C

int main() {
 ios::sync_with_stdio(0);
 cin.tie(0);cout.tie(0);
 int n;
 cin >> n;
 int a[n];
 for(int i = 1; i <= n; ++i) {
  cin >> a[i];
 }
 for(int i = 1; i <= n; ++i) {
  if(a[i] < 0) {
   cout << i << " ";
   break;
  }
 }
 for(int i = n; i > 0; --i) {
  if(a[i] < 0) {
   return cout << i,0;
  }
 }
 cout << "-1 ";
 cout << "-1";
}

Câu hỏi trong lớp Xem thêm