Viết chương trình tính tổng của n số nguyên có trong tệp Tong.inv. đưa giá trị tìm được ra tệp Tong.out. Dữ liệu vào gồm hai dòng dòng 1 ghi số nguyen dương n dòng 2 ghi n số nguyên dương dữ liệu ra một số nguyên duy nhất là tổng tìm được
Cho tệp văn bản DAYSO.INP có cấu trúc:
+ Dòng 1: Ghi số nguyên dương N (0<N<=100)
+ Dòng 2: Ghi dãy gồm n số nguyên Ai (-30000<=Ai<=30000).
Yêu cầu: Viết chương trình đọc dữ liệu từ tệp trên và thực hiện các công việc sau:
a) Tính tổng các số ở dòng 2, ghi kết quả vào tệp TONG.OUT theo cấu trúc:
+ Dòng 1: Ghi số nguyên S là tổng tìm được
b) Tính tổng các số dương ở dòng 2, ghi kết quả vào tệp TD.OUT theo cấu trúc:
+ Dòng 1: Ghi số nguyên S là tổng các số dương tìm được
c) Đếm số lượng các số chẵn ở dòng 2, ghi kết quả vào tệp SOCHAN.OUT theo cấu trúc:
+ Dòng 1: Ghi số nguyên k là số lượng số chẵn
+ Dòng 2: Ghi các số chẵn tìm được, các số ghi cách nhau 1 dấu cách trống.
d) Đếm số lượng các số âm chẵn ở dòng 2, ghi kết quả vào tệp SOAMCHAN.OUT theo cấu trúc:
+ Dòng 1: Ghi số nguyên k là số lượng số âm chẵn
+ Dòng 2: Ghi các số âm chẵn tìm được, các số ghi cách nhau 1 dấu cách trống.
e) Sắp xếp các số ở dòng 2 để được dãy không giảm, ghi kết quả vào tệp SAPXEP.OUT theo cấu trúc:
+ Dòng 1: Ghi dãy số đã được sắp xếp, các số ghi cách nhau 1 dấu cách trống.
f) Đếm số lượng các số nguyên tố ở dòng 2, ghi kết quả vào tệp NTO.OUT theo cấu trúc:
+ Dòng 1: Ghi số nguyên k là số lượng số nguyên tố
+ Dòng 2: Ghi các số nguyên tố tìm được, các số ghi cách nhau 1 dấu cách trống.
HƠI DÀI NHMA MONG MẤY BẠN GIÚP CHỨ MÌNH CHỊU R
tìm các số nguyên tố trong dãy số nguyên có n phấn tử a1, a2...an. dữ liệu vào đọc từ file nguyên tố.INP, gồm 2 dòng:
- dòng đầu chứa số nguyên dương n,n<= 250.
-dòng 2 chứa các phần tử của dãy số gồm a1, a2...an.
-dữ liệu ra ghi vào tệp nguyên tố .OUTP ,các phần tử là số nguyên tố nằm trên 1 dòng
giúp mình với ạ, mình cảm ơn!!
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,j;
bool kt;
int main()
{
freopen("nguyento.inp","r",stdin);
freopen("nguyento.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]>1)
{
kt=true;
for (j=2; j*j<=a[i]; j++)
if (a[i]%j==0) kt=false;
if (kt==true) cout<<a[i]<<" ";
}
return 0;
}
Bài 1. Cho tệp văn bản input.txt gồm nhiều dòng. dòng đầu tiên ghi số nguyên dương N, N dòng tiếp theo, mỗi dòng ghi một số nguyên không lớn hơn 10000. a. Đọc dữ liệu từ tệp, đếm xem có bao nhiêu số dương chẵn. b. Đọc dữ liệu từ tệp, sắp xếp N số theo thứ tự tăng dần rồi ghi kết quả vào tệp output.txt. Ai biết làm giúp mk vớii
Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!
Câu 1 (7,0 điểm): Số chính phương.
Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.
Câu 2 (6,0 điểm): Dòng lớn nhất.
Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa một xâu kí tự chỉ gồm các kí tự chữ cái và chữ số, độ dài của mỗi xâu không quá 255 kí tự.
Yêu cầu: Đưa ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất. Dữ liệu vào: File DLN.INP gồm:
+ Dòng đầu ghi số N là số lượng dòng chứa các xâu kí tự.
+ N dòng tiếp theo: mỗi dòng ghi một xâu kí tự. Dữ liệu ra: File DLN.OUT ghi ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất.
Câu 3 (4,0 điểm): Dãy con đối xứng.
Một dãy số liên tiếp gọi là dãy đối xứng nếu đọc các số theo thứ tự từ trái sang phải cũng giống như khi đọc theo thứ tự từ phải sang trái. Cho dãy số A gồm N số nguyên dương: a1, a2,..., aN (1≤ N≤ 10000; 1≤ ai≤ 32000; 1≤ i≤ N)
Yêu cầu: Hãy tìm dãy con đối xứng dài nhất của dãy A. Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy A. Dữ liệu vào: File DX.INP gồm 2 dòng:
- Dòng 1: ghi số nguyên dương N.
- Dòng 2: ghi N số nguyên dương lần lượt là giá trị của các số trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: File DX.OUT ghi dãy tìm được trên cùng một dòng, các số được ghi cách nhau một dấu cách.
Câu 4 (3,0 điểm): Dãy nguyên tố.
Cho một dãy số B gồm n số nguyên dương (n ≤ 1000), mỗi phần tử trong dãy có giá trị không quá 30000. Yêu cầu:
+ Tìm dãy con dài nhất (liên tiếp hoặc không liên tiếp) các phần tử là những số nguyên tố có giá trị tăng dần của dãy B và thứ tự của các phần tử không đổi so với ban đầu. Ví dụ: Dãy 8 phần tử {4, 2, 5, 6, 3, 3, 7, 9} có dãy con nguyên tố tăng dài nhất là {2, 5, 7}.
+ Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy B. Dữ liệu vào: File NT.INP gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương n.
- Dòng 2: Ghi n số nguyên dương, các số được ghi cách nhau một dấu cách. Dữ liệu ra: File NT.OUT ghi dãy con tìm được trên cùng 1 dòng, giữa 2 phần tử liền kề trong dãy có một dấu cách.
Cho tệp dulieu.inp chứa các bộ số nguyên ( mỗi bộ ghi trên 1 dòng gồm 2 số nguyên cách nhau bởi 1 kí tự trống). Vt ctrinh đọc dữ liệu trong tệp trên rồi tính tổng của mỗi bộ số nguyên, ghi các kq vào tệp tong.out( mỗi kq trên 1 dòng ). Lưu ý có sd ctrinh con
Cho dãy số nguyên A[1], A[2], …, A[n], các số đôi một khác nhau và số nguyên dương k (1 ≤ k ≤ n). Hãy đưa ra gá trị nhỏ thứ k trong dãy.
Dữ liệu vào: Tệp văn bản MINK.INP gồm:
+ Dòng đầu ghi hai số nguyên n và k (1 ≤ k ≤ n ≤ 105) cách nhau một dấu cách.
+ Dòng thứ hai ghi n số nguyên A[1], A[2], …, A[n] có giá trị tuyệt đối không vượt quá 106, giữa các số cách nhau một dấu cách.
Kết quả ra: Đưa ra tệp văn bản MINK.OUT, chỉ ghi một số duy nhất là số nhỏ thứ k trong dãy. Ví dụ dãy: 6, 7,8, 4, 3, 2 và k = 4 thì giá trị nhỏ thứ k là 6.
MINK.INP | MINK.OUT |
6 46 7 8 4 3 2 | 6 |
c++ ạ
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n,k;
cin >> n >> k;
int a[n];
for (int i=0;i<n;i++)
cin >> a[i];
sort(a,a+n);
cout << a[k-1];
return 0;
}
Đọc dữ liệu từ tệp đầu vào và viết ra tệp
Cho tệp “bangDiem.txt" gồm nhiều dòng; các mục dữ liệu cách nhau khoảng trống:
- Dòng thứ nhất: Hai số nguyên dương n và m; với n là số học sinh, m là số môn học.
- Dòng thứ hai: TênHS Toán Văn Tin Li... gồm (m+1) từ.
- n dòng tiếp theo, mỗi dòng có tên học sinh và điểm các môn học của học sinh đó.
Hãy viết một hàm nhapTuTep() để đọc tệp dữ liệu đầu vào “bangDiem.txt" và khởi tạo dữ liệu sẵn sàng để tính toán phân tích kết quả học tập:
a) Một mảng hai chiều n x m các số thực.
b) Hai danh sách: danh sách tên học sinh và danh sách tên môn học.
Có thể tạo tệp “bangDiem.txt" bằng cách chỉnh sửa và bổ sung bảng trong Hình la ở Bài 2; từ Word hay Excel, thao tác Copy\Paste vào cửa sổ của Notepad hay cửa sổ soạn thảo của Python; ghi lưu thành tệp có định dạng text.
- Đọc từng dòng của tập đầu vào.
- Chuyển đổi mỗi mục của danh sách sang kiểu dữ liệu cần thiết và nối thêm vào danh sách tương ứng trong chương trình (tham khảo chương trình ở Hình 4).
Trong Python, nếu một dòng gồm nhiều mục khác kiểu dữ liệu, xen kẽ nhau, thì phải truy cập từng phần tử của danh sách và chuyển từ xâu kí tự thành kiểu dữ liệu đúng mô tả.
Các thao tác với tệp dữ liệu
Đầu vào là tệp thuần văn bản chữ và số (đuôi tên tệp “txt”) gồm nhiều dòng; mỗi dòng gồm nhiều từ, mỗi từ là một mục dữ liệu, phân cách bằng khoảng trống.
Các bước thực hiện như sau:
Bước 1. Mở tệp để đọc hay viết, sử dụng hàm open () như ví dụ ở Hình 5.
Bước 2. Đọc từ tệp, có thể dùng các phương thức read(), readline(), readlines() kết hợp với split():
read().split() : Đọc từng từ và nối liền toàn bộ các dòng thành một danh sách các từ. Sử dụng khi tệp ngắn và cần xử lí toàn bộ nội dung tệp.
readline().split() : Đọc một dòng, trả về danh sách các từ, thường dùng nhất. readlines() : Đọc toàn bộ tệp, trả về danh sách các dòng, mỗi dòng là một xâu kí tự, kết thúc bằng ‘\n (dấu xuống dòng).
Bước 3. Xuất ra tệp thuần văn bản: có thể dùng hàm print, sau khi đã chuyển đầu ra chuẩn từ màn hình sang tệp đã mở để viết vào như sau:
Bước 4. Đóng tệp, dùng phương thức close().
Lưu ý: Nếu giữa các từ được phân cách nhau bằng dấu phẩy thì ta có tệp kiểu “csv” (comma separated value) và cần dùng split(',') thay vì dạng mặc định split(). Cần chuyển thành kiểu danh sách (hay mảng) nên sẽ kết hợp xử lí bằng split(',').
Viết chương trình đọc số liệu của dãy N số trong tệp DATA1.TXT. Sau đó ghi dữ liệu là các thông tin sau vào tệp KQ1.TXT: - Dòng 1: Tổng các số lẻ trong dãy? - Dòng 2: Danh sách các số dương chia cho 5 có trong dãy, mỗi số cách nhau 1 cách
Program HOC24;
var i,n: integer;
a: array[1..1000] of integer;
t: longint;
f1,f2: text;
const fi='DATA1.TXT'
fo='KQ1.TXT'
begin
assign(f1,fi);
assign(f2,fo);
reset(f1);
rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
t:=0;
for i:=1 to n do if a[i] mod 2=0 then t:=t+a[i];
writeln(f2,t);
for i:=1 to n do if a[i] mod 5=0 then write(f2,a[i],' ');
close(f1); close(f2);
end.
viết chương trình đọc dữ liệu từ file văn bản so.inp gồm 2 dòng. dòng 1 ghi số nguyên dương N (N<= 100).dòng 2 dãy A gồm n số nguyên dương: a1,a2,...,an.ghi ra file so.out các số chẵn trong dãy A
#include <bits/stdc++.h>
using namespace std;
long long a[1000],n,i;
int main()
{
freopen("so.inp","r",stdin);
freopen("so.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]%2==0) cout<<a[i]<<" ";
return 0;
}