K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

  giải giúp ạ --> hơi bị gấp TT TT

Người ta định nghĩa, một hằng số được coi là số thực nếu ngoài các số chữsố ra nó còn có dấu chấm ( . ) hoặc một số mũ ( bắt đầu bởi e hay E thườngđược gọi là số luỹ thừa ) hoặc cả hai. Nếu có dấu chấm ( . ) thì mỗi bên củadấu chấm phải có ít nhất một chữ số. Ngoài ra, ở trước số và trong số mũcòn có thể có một dấu cộng ( + ) hoặc trừ ( - ). Phần số luỹ thừa phải là sốnguyên. Số thực có thể có các khoảng trống ở trước hoặc sau nhưng bêntrong thì không. Hằng số thực không có giới hạn về giá trị.

Viết chương trình kiểm tra xem các chuỗi kí tự cho trước có phải là nhữngsố thực theo định nghĩa trên đây hay không? Dữ liệu vào: Dữ liệu vào cho trong tập tin văn bản HSG4.INP gồm nhiều dòng cho nhiềutrường hợp cần kiểm tra. Mỗi dòng chứa một chuỗi kí thự S i là chuỗi cầnkiểm tra. Dòng cuối cùng chứa kí tự ' * ', dòng này không được xét trongchương trình. Mỗi dòng tối đa 255 kí tự. Dữ liệu ra: Kết quả ghi trong tập tin văn bản HSG4.OUT gồm nhiều dòng. Mỗi dòngchứa câu trả lời là "DUNG" hoặc "SAI" tương ứng với một dòng trong tậptin HSG4.INP. Ví dụ:

 HSG4.INP                                HSG4.OUT 1.2                                             DUNG 5.300                                                     DUNG  1                                                    SAI 1.0e55                                                   DUNG +1e-12                                                   DUNG  2011                                                  SAI  e-12                                                  sai

*.                                                    

1
24 tháng 12 2020

theo thứ tự lần lượt: vd:1.2 ->d ,1->s

HSG4.INP  HSG4.OUT 1.2 5.300 1 1.0e55 +1e-12 2011 e-12 *.

 DUNG DUNG SAI DUNG DUNG SAI SAI

14 tháng 6 2021

program xau_so_hoc;
uses crt;
procedure xu_li;
var s, x, xau : string; i, tinh, j, f1, f2 : integer;
begin
write('nhap xau: '); readln(xau);
 i:=1;
 repeat
        x:=''; s:='';
        while (xau[i] in ['0'..'9']) and (i<=length(xau)) do
        begin
        x:=x+xau[i];
           inc(i); {tim dau '+' hoac tru '-'/tim so truoc dau do}
        end;
                for j:=i+1 to length(xau) do
                if xau[j] in ['0'..'9'] then s:=s+xau[j] else
                                                         break;
       val(x,f1); val(s,f2); {chuyen doi xau thanh so};
        if xau[i]='-' then
                        tinh:=tinh +(f1-f2) else
                        if xau[i] = '+' then
                                                tinh:=tinh + (f1+f2);
       {tinh toan voi xau va dau da tim duoc}
       i:=j;
 until i>=length(xau);
        write('xau da tinh toan: ', tinh);
end;
{chuong trinh chinh}
        begin
                clrscr;
                xu_li;
        end.

 

14 tháng 6 2021

có một số chỗ mình chú thích hơi sai

đại khái ý tưởng của mình là như này nè:

đầu tiên mình tìm dấu - hoặc + và tìm số đầu tiên trước dấu cộng hoặc trừ (vòng while đầu tiên), rồi tìm số sau dấu đó (vòng for sau đó).

rồi chuyển thành xâu, nếu - thì cộng biến với hiệu 2 số, nếu + thì mình cộng với hiệu hai số 

lưu ý: vòng while chỉ dùng cho lần lập đầu tiên thôi, để tránh sai số những vòng repeat tiếp theo thì dùng vòng for để tìm số tiếp theo dấu vừa tìm được (số sau dấu vừa tìm được đã tìm ở vòng for lần lặp trước);

ví dụ để dễ mường tượng nè

1+1 

i sẽ bằng 1 để tránh trường s[0] sẽ bị exit code

vòng repeat 1:

tìm được vị trí dấu + và số trước dấu + (vòng while);

tìm được số 1 (vòng for);

vòng for: sẽ được chạy từ giá trị của biến i+1 (do i đang ở vị trí của dấu vừa tìm được, không phải số nên nếu chạy từ i lúc cộng dồn sẽ là +1 chứ không phải là 1);

+ nếu như s[j] mà không phải số thì mình dừng vòng for lại (break)

đổi 2 số '1' thành kiểu số

biến 'tính' =0 

tính:=tính + (1+1) ( vì đây là dấu +); => tính=2;

biến i sẽ bằng giá trị cuối của biến j nhận được 

tức là bằng 3

mà 3 = độ dài của xâu nên vòng repeat dừng lại

vòng lặp của repeat chỉ có  1 vòng

11 tháng 12 2020

a) var a:real;

b:string;

a:=20.5;

readln(b);

b) var x:string;

y:integer;

x:='Ha Noi';

readln(y);

22 tháng 12 2020

C++ nha mn

 

 

 

 

13 tháng 12 2023

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
map<ll,ll> mp;
int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    freopen("MAP1.INP","r",stdin);
    freopen("MAP1.OUT","w",stdout);
    ll n; cin >> n;
    ll a[n+5];
    for(ll i=1;i<=n;i++) cin >> a[i], mp[a[i]]++;
    for(pair<ll,ll> it:mp) cout << it.first << " " << it.second << "\n";
}

Chúc bạn học tốt!