nhập 1 mảng số nguyên dương <10^6
a) in ra số đối xứng lớn nhất b) in ra số đảo ngược lớn nhất c)tìm cắp số có ucln là lớn nhất d) viết ra số nguyên tố cố tổng các chữ số của nó lớn nhấtbai5.inp | bai5.out |
5 7 9 123 31 |
9 123 9 123 7 |
Viết chương trình nhập 1 mảng số nguyên dương gồm n phần tử
a, in ra màn hình mảng vừa nhập (bỏ qua phần này!)
b, nhập số nguyên dương k. tính tổng các số trong mảng LỚN hơn k.
c, tìm kiếm các cặp 2 phần tử liên tiếp có tổng chia hết cho 10. in ra màn hình các cặp số và vị trí của nó!.
d, tìm phần tử lớn nhất và số nguyên dương lớn nhất không xuất hiện trong mảng nhưng nhỏ hơn phần tử lớn nhất trong mảng.
e, tìm số xuất hiện nhiều nhất(lặp lại lắm nhất) và số lần xuất hiện của số đó trong mảng.( Nếu tìm được nhiều số có số lần xuất hiện bằng nhau thì chỉ cần in ra số tìm được đầu tiên ).
f, đếm xem trong mảng có bao nhiêu số thân thiện :)) ( Số thân thiện là số có nhiều hơn 1 chữ số và nó chia hết cho TỔNG các chữ số của nó).
----------làm bằng procedure và function giúp mình kaka------------
<3 Cảm ơn các procoder :))
Viết chương trình nhập vào một mảng gồm n số nguyên a.in ra mảng vừa nhập b.tính và in ra màn hình tổng các cân bậc hai của các số nguyên dương trong mảng vừa nhập
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,t,dem;
int main()
{
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++) cout<<a[i]<<" ";
cout<<endl;
dem=0;
t=0;
for (i=1; i<=n; i++)
if (a[i]>0)
{
dem++;
t=t+sqrt(a[i]);
}
cout<<t;
return 0;
}
1. Viết chương trình nhập vào máy 1 mảng số nguyên bất kỳ, thống kê và in ra số phần tử âm trong mảng.
2. Viết chương trình nhập vào máy 1 mảng số nguyên bất kỳ, thống kê và in ra số phần tử dương trong mảng.
Mn giúp mình với!!!!!!
Câu 1:
uses crt;
var a:array[1..100]of integer;
i,n:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
for i:=1 to n do
if a[i]<0 then write(a[i]:4);
readln;
end.
Câu 2:
uses crt;
var a:array[1..100]of integer;
i,n:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
for i:=1 to n do
if a[i]>0 then write(a[i]:4);
readln;
end.
Nhập 1 mảng A gồm n số nguyên dương. Đếm các số chẵn và chia hết cho 3 trong mảng A
Program HOC24;
var a: array[1..1000] of integer;
i,n,d: integer;
begin
write('Nhap N: '); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
d:=0;
for i:=1 to n do if a[i] mod 3=0 then d:=d+1;
write('Co ',d,' so chia het cho 3');
readln
end.
Bài 1:
uses crt;
var c:aray[1..200]of integer;
i,vt1,vt2:integer;
begin
clrscr;
for i:=1 to 200 do
begin
write('C[',i,']='); readln(c[i]);
end;
for i:=1 to 200 do
if c[i]>0 then
begin
vt1:=i;
break;
end;
if vt1=0 then writeln('Khong co so duong trong day')
else writeln('So duong dau tien trong day la: ',c[vt1],' va chi so cua no la: ',vt1);
for i:=200 downto 1 do
if c[i]>0 then
begin
vt2:=i;
break;
end;
if vt2=0 then writeln('Khong co so duong trong day')
else writeln('So duong cuoi cung trong day la: ',c[vt2],' va vi tri cua no la: ',vt2);
readln;
end.
VCT nhập mảng gồm n số nguyên dương in ra số nguyên tố những phần tử trong mảng
Viết chương trình mảng 1 chiều với n số nguyên và bài tập mẫu
Đầu tiên chúng ta cần tìm hiểu về lý thuyếtmảng 1 chiều là gì? Mảng một chiều là một dãy hữu hạn các phần tử có cùng dữ liệu khi khai báo và cá phần tử này có chung một tên nhưng khác nhau bởi các chỉ số phân biệt vị trí trong mảng. Các phần tử trong mảng có thể chứa cùng một giá trị nhưng khác nhau về chỉ số. Ví dụ: A[i] = 10, A[j] = 10 chúng giống nhau về giá trị là chứa một số nguyên dương bằng 10 nhưng khác nhau về chỉ số khi i khácj. Để mô tả mảng 1 chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.
Khai báo mảng 1 chiều
Có 2 cách để chúng ta khai báo mảng 1 chiều như sau:
- Cách 1 khai báo trực tiếp:
var A: array[-10..20] of Real;- Cách 2 khai báo gián tiếp:
Type Mang1C = array[1..20] of Integer;
Tuy có 2 cách nhưng các bạn nên sử dụng cách thứ 2 vì khi viết thủ tục hoặc sử dụng hàm sẽ ngắn gọn hơn là cách 1.
Cách nhập – xuất mảng 1 chiều
Từ ví dụ dưới đây các bạn sẽ biết được cách nhập xuất mảng 1 chiều có cùng dữ liệu.
Ví dụ: Hãy nhập vào một mảng số nguyên và xuất chúng ra màn hình.
Program Vidu;Lưu ý: khi nhập và xuất kết quả ra màn hình các bạn cần bắt đầu với chỉ số i từ đầu danh sách mà bạn khai báo nếu như bạn khai báo Array[1..10] mà For i:=0 to N-1 do sẽ bị lỗi ngay lập tức. Mặc dù chương trình vẫn chạy nhưng kết quả xuất ra là sai nhé.
Một số bài tập về mảng 1 chiều
Trong phần này chúng ta cùng làm một số bài tập mẫu về mảng 1 chiều. Và mình cũng viết chương trình để đáp ứng lại yêu cầu bài tập từ bạn Trương Minh Trung với bài toán: viết chương trình nhập vào mảng 1 chiều gồm n phần tử kiểu nguyên sau đó làm các thủ tục sau:
1.in ra màn hình danh sách các số chẵn
2.in ra màn hình danh sách các số lẽ
3.in ra màn hình danh sách các số 1->10
Để giải quyết bài toán chúng ta cần nhập và xuất ra mảng 1 chiều chứa n phần tử kiểu số nguyên. Sau đó gọi lần lượt các thủ tục để kiểm tra phần tử A[i] có trong mảng tùy thuộc vào yêu cầu của đề. Sử dụng mod chia lấy dư để xác định số chẵn hoặc lẽ và so sánh <= 10 để có danh sách các số từ 1 -> 10.
Đây là chương trình của bạn
Program BTMang1C;
End;
{//Thu tuc xuat mang 1C}
Procedure XuatMang1C(Var A:Arr100; Var N:integer);
Var i:integer;
Begin
For i:= 1 to N do
Write(A[i]:5);
Writeln;
End;
{//Thu tuc tim so chan}
Procedure SoChan(A:Arr100;N:integer);
Var i: integer;
Begin
For i:= 1 to N do
begin
If(A[i] mod 2 = 0) then
Write(A[i]:5);
end;
End;
{//Thu tuc tim so le}
Procedure SoLe(A:Arr100;N:integer);
Var i:integer;
Begin
For i:=1 to N do
begin
If(A[i] mod 2 = 1) then
Write(A[i]:5);
end;
End;
{//Thu tuc in ra so nho <=10}
Procedure NhoHon10(A:Arr100;N:integer);
Var i:integer;
Begin
For i:=1 to N do
begin
If (1 <= A[i]) and (A[i] <= 10) then
Write(A[i]:5);
end;
End;
{//Phan than chuong trinh}
Begin
Clrscr;
NhapMang1C(A,N);
XuatMang1C(A,N);
Write('Danh sach so Chan: ');
SoChan(A,N);
Writeln;
Write('Danh sach so Le: ');
SoLe(A,N);
Writeln;
Write('Danh sach cac so tu 1 -> 10: ');
NhoHon10(A,N);
Readln;
End.
Một số bài tập thêm:
1. Bài toán:
a/Đếm số lần xuất hiện của giá trị X trong mảng A.
b/ Đếm số lần xuất hiện của các phần tử trong mảng.
Ví dụ cho mảng A có các phần tử là: 10 8 8 6 1 3 1 2 1. Giá trị X:=1
a/ số lần xuất hiện của X => 3 lần
b/ 10 => 1 lần
8 => 2 lần
6 => 1 lần
1 => 3 lần
3 => 1 lần
2 => 1 lần
Như vậy đầu tiên chúng ta cần xây dựng hàm đếm số lần X xuất hiện và trả về giá trị, nếu như không có X trong mảng thì trả về giá trị = 0. Đối với câu B ta sử dụng thêm thủ tục gọi lại hàm đếm phần tử xuất hiện và in ra màn hình là xong. Như vậy chúng ta xây dựng thủ tục DemPTX và SoLanXH như sau:
Function DemPTX(Var A:Arr100; N, X:integer):Integer;Đồng thời bổ sung vào thân chương trình
Write('Nhap vao so X can dem lan xuat hien');Mặc dù chúng ta đã xây dựng thành công và có thể chạy chúng nhưng khi in tất cả các phần tử nó sẽ bị lặp lại kết quả. Để khắc phục trường hợp này bạn cần làm thêm 1 bước đó là kiểm tra xem A[i] đã được in ra trước đó hay chưa. Nếu như đã in ra rồi thì không in nữa. Cái này nâng cao để các bạn suy nghĩ thêm nhé.
2/ Tính tổng các số trong mảng A
Khá đơn giản, các bạn chỉ cần tạo hàm tính tổng sau đó dùng vòng lặp từ phần tử đầu tiên đến phần tử cuối cùng và cộng dồn chúng vào là ok.
Function TinhTong(A:Arr100; N:integer):integer;Lập trình giải bài toán sau Nhập 1 mảng gồm N số nguyên từ bàn phím 1.In mảng vừa nhập,mỗi mảng cách nhau 5 vị trí 2.In ra tất cả các số dương trong mảng 3.Tính tổng các số chia hết cho 3 4.Sắp xếp mảng theo chiều giảm dần
uses crt;
var a:array[1..100]of integer;
i,n,t,j,tam:integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
for i:=1 to n do write(a[i]:5);
writeln;
writeln('Cac so duong la: ');
for i:=1 to n do if (a[i]>0) then write(a[i]:4);
writeln;
t:=0;
for i:=1 to n do
if a[i] mod 3=0 then t:=t+a[i];
writeln(t);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
for i:=1 to n do write(a[i]:4);
readln;
end.
viet chuong trình nhập vào mảng 1 chiều a gồm n phần tử là số nguyên dương (1<n<=100).Cho biết trong mảng có bao nhiêu phần tử là số nguyên tố?
uses crt;
var a:array[1..100]of integer;
i,n,kt,dem,j:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
dem:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to trunc(sqrt(a[i])) do
if a[i] mod j=0 then
begin
kt:=1;
break;
end;
if kt=0 then inc(dem);
end;
writeln('So phan tu la so nguyen to la: ',dem);
readln;
end.
Em hãy viết chương trình hoàn chỉnh nhập vào mảng 1 chiều gồm 6 phần tử . Đếm và tính tổng các phần tử dương của mảng vừa nhập , biết rằng các phần tử trong mảng là các số nguyên
uses crt;
var a:array[1..6]of integer;
i,dem,t:integer;
begin
clrscr;
for i:=1 to 6 do
begin
write('A[',i,']='); readln(a[i]);
end;
dem:=0;
t:=0;
for i:=1 to 6 do
if a[i]>0 then
begin
inc(dem);
t:=t+a[i];
end;
writeln('So phan tu duong la: ',dem);
writeln('Tong cac phan tu duong la: ',t);
readln;
end.
Viết chương trình nhập vào một mảng số nguyên không quá 250 phần tử. Đếm số phần tử nguyên dương chẵn có trong mảng
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if ((x>0) and (x%2==0)) dem++;
}
cout<<dem;
return 0;
}