#include <iostream.h> main() { int a,b,cont,total1=0,total2=0; cin >> a; cin >> b; for(cont=1;cont<a;cont=cont+1) { if(a%cont ==0) { total1 = total1+1; } } for(cont=1;cont<b;cont=cont+1) { if(b%cont ==0) { total2 = total2+1; } } if(total1 > total2) { cout << "MAIS\n"; } else if(total1 < total2) { cout << "MENOS\n"; } else cout << "IGUAL\n"; }
O programa lê dois valores e conta os divisores de cada, de 1 ao número digitado-1. No final, compara a quantidade de divisores e informa se o primeiro tinha MAIS, MENOS ou IGUAL quantidade de divisores que o segundo.
Portanto, as respostas são: a) MAIS; b) IGUAL e c) MENOS
(2 pontos) O programa abaixo deveria preencher um vetor com os divisores de um número (de 1 ao próprio número, inclusive) digitado pelo usuário. Identifique e corrija todos os erros existentes no código.
#include <iostream.h> main() { int div[100]; int cont; cin >> num; cont = 0; while(cont<num) { if(num%cont == 0) { div[total] = num; total = total + 1; } cont = cont - 1; } } |
#include <iostream.h> main() { int div[100]; int cont, num, total=0 cin >> num; cont = 1; while(cont<=num) { if(num%cont == 0) { div[total] = cont; total = total + 1; } cont = cont + 1; } } |
variáveis num e total não declaradas cont deve começar com um, para não dar divisão por zero vai de 1 até o número (inclusive!) o vetor recebe a posição do contador, ou seja, o divisor sendo testado cont deve ser adicionado, não subtraído |
#include <iostream.h> main() { int dia,mes,ano; int valida=1; cout << "Digite a data: "; cin >> dia; cin >> mes; cin >> ano; if(dia < 30 || dia > 1) { cout << "Dia inválido!\n"; valida = 0; } if(mes < 1 || mes > 12) { cout << "Mês inválido!\n"; valida = 0; } if(ano < 1) { cout << "Ano inválido!\n"; valida = 0; } if(valida == 1) { cout << "Data válida\n"; } } |